首页 > 后端开发 > Python教程 > 如何将 Python 的 `print` 输出重定向到文件?

如何将 Python 的 `print` 输出重定向到文件?

Susan Sarandon
发布: 2024-12-01 07:39:11
原创
155 人浏览过

How Can I Redirect Python's `print` Output to a File?

将“打印”输出重定向到文件

尝试将“打印”输出重定向到 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
登录后复制

或者,对于一次性脚本,重定向“sys.stdout”可能是合适的:

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()
登录后复制

Since 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
登录后复制

要解决潜在问题,请考虑检查脚本中的第一个文件名,该文件可能未初始化。此外,验证文件夹是否存在并打印“bamfiles”可以帮助识别文件发现的任何问题。建议使用“os.path.join”和“os.path.basename”进行路径和文件名操作,以获得最佳的代码清晰度。

以上是如何将 Python 的 `print` 输出重定向到文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

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