将控制台内容重定向至文件

使用os.system(command)等模块执行系统命令时,返回值为命令执行结果,命令执行成功返回Ture,否则返回False;
若要得命令本身返回的内容,需要将命令输出至控制台的内容写到文件中,即将标准输出由控制台重定向至文件。
# 将控制台内容重定向至文件
"""
使用os.system(command)等模块执行系统命令时,返回值为命令执行结果,命令执行成功返回Ture,否则返回False;
若要得命令本身返回的内容,需要将命令输出至控制台的内容写到文件中,即将标准输出由控制台重定向至文件。
"""
import sys
import os

# 自定义目标文件夹和目标文件名
filepath = "D:\PycharmProjects"
filename = "help.txt"
fullname=os.path.join(filepath,filename)

# 备份默认的标准输出(输出值控制台)
standard_output = sys.stdout

# 将标准输出重定向至文件
"""
此处实质为向文件写入内容。
通常,向文件写入内容的步骤为:打开文件-->写入内容-->关闭文件
此处步骤与上述步骤相同,只不过“写”的方式发生了改变。
一般的文件写入为由人通过键盘键入内容或者copy内容,此处为由解释器向文件写入内容。
标准输出是解释器将内容写到(输出到)控制台,我们可以在控制台看到内容,此处这是解释器将内容
写入(输出到)了文件,我们可以在文件中找到内容。
"""
sys.stdout = open(fullname, "w+")

# 写入内容。已经将标注输出更改为输出至文件,所以执行命令后,会将原来输出至控制台的内容输出至文件。
help(list)

# 关闭文件
sys.stdout.close()

# 恢复默认标准输出
sys.stdout = standard_output

# 检测写入到文件的内容
print(open(fullname, "r").read())

# 拓展:定义函数,将帮助文件重定向至txt文件 

# 拓展:定义函数,将帮助文件重定向至txt文件
def help2txt(command, filename = ""):
    import sys
    import os

    # 自定义目标文件夹和目标文件名
    filepath = "D:\PycharmProjects"
    if not filename:
        filename = str(command) + ".txt"
    fullname = os.path.join(filepath, filename)

    # 备份默认的标准输出(输出值控制台)
    standard_output = sys.stdout

    # 将标准输出重定向至文件
    sys.stdout = open(fullname, "w+")
    help(command)

    # 关闭文件
    sys.stdout.close()

    # 恢复默认标准输出
    sys.stdout = standard_output

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值