【发布时间】:2017-09-25 21:27:04
【问题描述】:
import os
fileHandle = open('booksNames.txt', 'r+')
def getData():
data = os.system('dir /b /a /s *.pdf *.epub *.mobi')
fileHandle.writelines(str(data))
fileHandle.close()
我正在尝试将 os.system 函数返回的数据写入文件。但唯一写入文件的是 0。以下是我尝试过的其他一些变体。
import os
fileHandle = open('booksNames.txt', 'r+')
getData = lambda:os.system('dir /b /a /s *.pdf *.epub *.mobi')
data = getData()
fileHandle.writelines(str(data))
fileHandle.close()
在输出窗口中,它提供了完美的输出,但在写入文本文件时它会写入零。我也尝试过使用 return 但没有用。请帮忙。
【问题讨论】:
-
第一个变体至少包含两个错误:1)'r+'不正确; 'r' 用于读取(仅)和 'w' 用于写入(这是您想要的)。 2) GetData 函数永远不会被调用。
-
@SurestTexas
'r+'从文件开头开始读/写,所以很好 -
os.system不返回执行的命令行打印的输出。它返回进程的退出状态,即 0。 -
@user2357112,当您添加正确的呼叫时,这应该是一个答案
-
@SurestTexas:
r+正在打开读/写。
标签: python windows file text io