将 Python 输出重定向到文本文件
尝试使用 Python 将打印输出重定向到文本文件时,如果您选择方法没有产生期望的结果。
问题说明
以下代码无法使用 sys.stdout 将输出重定向到文件:
f = open('output.txt','w') sys.stdout = f path= '/home/xxx/nearline/bamfiles' bamfiles = glob.glob(path + '/*.bam') for bamfile in bamfiles: filename = bamfile.split('/')[-1] print 'Filename:', filename
解决方案
而不是 sys .stdout,考虑使用文件对象打印:
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x
替代解决方案
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
./script.py > out.txt
其他注意事项
以上是如何正确地将 Python 打印输出重定向到文本文件?的详细内容。更多信息请关注PHP中文网其他相关文章!