将os.system的输出保存到文本文件
我在所有技术术语上都不是很好,所以我会尽力解释我的问题。
我已经编写了一个小脚本来打开android SDK并检查连接的设备(使用Windows 10和python 2.7.14)。我得到的代码如下:
import osimport 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 osimport 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