首页 > 后端开发 > Python教程 > 如何将 Python 的打印输出重定向到文件以及为什么会失败?

如何将 Python 的打印输出重定向到文件以及为什么会失败?

Barbara Streisand
发布: 2024-11-28 21:28:12
原创
442 人浏览过

How Can I Redirect Python's Print Output to a File and Why Might It Fail?

Python 代码的输出重定向

查询的中心是使用 Python 将打印语句重定向到指定的文本文件。尽管采用了 sys.stdout 技术,目标文件仍然为空。本文旨在探讨该问题并提供替代解决方案。

利用文件对象进行输出

最直接的方法是直接写入文件对象:

with open('out.txt', 'w') as f:
    print('Filename:', filename, file=f)  # Python 3.x
    # print >> f, 'Filename:', filename   # Python 2.x
登录后复制

重定向标准输出

或者,可以使用以下代码实现标准输出重定向:

import sys

orig_stdout = sys.stdout
f = open('out.txt', 'w')
sys.stdout = f

for i in range(2):
    print('i = ', i)

sys.stdout = orig_stdout
f.close()
登录后复制

使用标准库上下文管理器

对于 Python 3.4 及以上版本,专用的上下文管理器可以简化此操作进程:

from contextlib import redirect_stdout

with open('out.txt', 'w') as f:
    with redirect_stdout(f):
        print('data')
登录后复制

外部输出重定向

通过 shell 将输出重定向到外部是另一个可行的选项:

./script.py > out.txt
登录后复制

其他注意事项

  • 使用 glob.glob 验证指定路径内 bamfile 的可用性。
  • 利用 os.path.join 和 os.path.basename 获得高效的路径和文件名操纵。

以上是如何将 Python 的打印输出重定向到文件以及为什么会失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板