将os.system的输出保存到文本文件

我在所有技术术语上都不是很好,所以我会尽力解释我的问题。

我已经编写了一个小脚本来打开android SDK并检查连接的设备(使用Windows 10和python 2.7.14)。我得到的代码如下:

import os

import datetime

import time

print 'Current Directory:', os.getcwd()

print 'Opening Android SDK...'

os.chdir('C:\\android-sdk\\platform-tools')

print 'Current Directory:', os.getcwd()

t = time.ctime()

print t

print 'Checking for connected devices:'

os.system('adb devices -l')

一切正常,但我想将最后3行保存到文本文件中。我尝试过使用f = open('logfile.txt', 'w')并将其全部转换为字符串s =

str(t, 'Checking for connected devices:', os.system('adb devices

-l'))并将其写入文件并关闭它,但是它不起作用。它甚至都没有创建文件,更不用说向它写入任何内容了。

我可能缺少一些关键的东西,但是我是新手,所以请保持友好!

任何帮助将非常感激。

非常感谢

编辑:包括编写内容的整个代码:

import os

import datetime

import time

print 'Current Directory:', os.getcwd()

print 'Opening Android SDK...'

os.chdir('C:\\android-sdk\\platform-tools')

print 'Current Directory:', os.getcwd()

t = time.ctime()

f = open('logfile.txt', 'w')

s = str(t, 'Checking for connected devices:', os.system('adb devices -l'))

f.write(s)

f.close()

回答:

请尝试以下操作:

import os 

import subprocess

import time

print ('Current Directory: {}'.format(os.getcwd()) )

print ('Opening Android SDK...')

os.chdir('C:\\android-sdk\\platform-tools')

print ('Current Directory: {}'.format(os.getcwd()) )

t = str(time.ctime())

try:

process_output = subprocess.check_output(["adb", "devices", "-l"])

except: #Add here the type of exception you want to raise and logic

print("Please check your ADB installation and syntax.")

s = ('{} Checking for connected devices: {}'.format(t,process_output) )

with open('logfile.txt', 'w') as f:

f.write(s)

以上是 将os.system的输出保存到文本文件 的全部内容, 来源链接: utcz.com/qa/401179.html

回到顶部