首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将打印输出定向到.txt文件

将打印输出定向到.txt文件
EN

Stack Overflow用户
提问于 2016-04-12 19:10:46
回答 5查看 185K关注 0票数 92

有没有办法用python将所有的打印输出保存到一个txt文件中?假设我的代码中有这两行代码,我想将打印输出保存到一个名为output.txt的文件中。

代码语言:javascript
复制
print ("Hello stackoverflow!")
print ("I have a question.")

我希望output.txt文件包含

代码语言:javascript
复制
Hello stackoverflow!
I have a question.
EN

回答 5

Stack Overflow用户

发布于 2016-04-12 22:53:12

您可以将标准输出重定向到文件“output.txt”中:

代码语言:javascript
复制
import sys
sys.stdout = open('output.txt','wt')
print ("Hello stackoverflow!")
print ("I have a question.")
票数 26
EN

Stack Overflow用户

发布于 2018-02-12 05:41:38

使用日志记录模块

代码语言:javascript
复制
def init_logging():
    rootLogger = logging.getLogger('my_logger')

    LOG_DIR = os.getcwd() + '/' + 'logs'
    if not os.path.exists(LOG_DIR):
        os.makedirs(LOG_DIR)
    fileHandler = logging.FileHandler("{0}/{1}.log".format(LOG_DIR, "g2"))
    rootLogger.addHandler(fileHandler)

    rootLogger.setLevel(logging.DEBUG)

    consoleHandler = logging.StreamHandler()
    rootLogger.addHandler(consoleHandler)

    return rootLogger

获取记录器:

代码语言:javascript
复制
logger = init_logging()

并开始记录/输出(Ing):

代码语言:javascript
复制
logger.debug('Hi! :)')
票数 6
EN

Stack Overflow用户

发布于 2019-05-13 21:33:11

另一种变体可以是..。之后请务必关闭该文件

代码语言:javascript
复制
import sys
file = open('output.txt', 'a')
sys.stdout = file

print("Hello stackoverflow!") 
print("I have a question.")

file.close()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36571560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档