转载请注明出处:

  在使用 python 直接执行脚本时,执行的相关输出会打印到当前的控制台,如果想输出到指定的文件,可以采用以下几种方式:

  1.在启动时,使用 > 操作符,该操作符会将输出写入到指定文件,并覆盖原来文件内容

    如创建一个python脚本,内容如下:

print("This is a test.")

    通过以下方式启动:

python test.py > output.txt

    在这个例子中,>操作符将"This is a test."这个字符串写入到output.txt文件中,并覆盖文件的原有内容。

  2.在启动时,使用 >> 操作符,>> 操作符会将输出追加到文件的末尾,而不是覆盖文件的内容

    启动执行脚本示例:

python test.py >> output.txt

  3.使用sys模块来重定向标准输出(stdout)和标准错误(stderr)

    示例:

import sys

# 创建一个文件对象
file = open('output.txt', 'w') # 将sys.stdout重定向到文件
sys.stdout = file # 将sys.stderr重定向到文件
sys.stderr = file # 现在,所有的print输出和错误信息都会写入到文件中
print("This is a test.")

    在这个例子中,首先导入了sys模块,然后创建了一个名为output.txt的文件对象。然后,将sys.stdoutsys.stderr都重定向到了这个文件对象。所有的print函数的输出和错误信息都会写入到这个文件中。

  4.Python脚本在直接执行时能够正常打印输出,但是通过重定向到文件时没有输出

    Python脚本在直接执行时能够正常打印输出,但是通过重定向到文件时没有输出,可能的原因是Python的缓冲机制。Python的print函数默认是缓冲的,也就是说,它会先把输出存储在一个缓冲区中,当缓冲区满了或者程序结束时,才会把输出写入到文件中。这就可能导致看不到立即的输出。

    解决这个问题的方法是,可以在print函数中使用flush=True参数,这样print函数就会立即把输出写入到文件中,而不是等待缓冲区满了。以下是一个修改后的脚本:

print("This is a test.", flush=True)

python 执行脚本,并将输出打印到文件的更多相关文章

  1. Python执行系统命令并获得输出的几种方法

    [root@a upfc]# ./ffmpeg-linux64-v3.3.1 -i a.mp3 ffmpeg version N-86111-ga441aa90e8-static http://joh ...

  2. python 接口测试1 --如何创建和打印日志文件

    python自带的logging实在是不好用,推荐使用logbook 思路如下: 1.创建path.py文件,获取工程根路径 2.创建log.py文件,在工程根路径下创建日志文件(文件名称按日期命名) ...

  3. 执行jar包,输出信息到文件

    有时如果临时需要上项目执行一些脚本或者临时文件,可以将项目达成jar包,去执行 执行jar包: java -jar test.jar 输出日志到文件:nohup java -jar test.jar ...

  4. Python执行show slave status输出的两个格式

    1.元组的方式 输出格式如下: ('Waiting for master to send event', '10.75.19.79', 'mysqlsync', 5580L, 60L, 'mysql- ...

  5. python执行linux shell管道输出内容

    干净不留痕,用过都说好. echo "print 1+1" |python

  6. 使用python库xlsxwriter库来输出各种xlsx文件

    功能性的文章直接用几个最简单的实现表达: xlsxwriter库的核心就是其Workbook对象. 创建一个指定名字的xlsx文件: import xlsxwriter filename = '/Us ...

  7. Jmeter 命令执行脚本并输出报告

    Jmeter 可以通过cmd 命令执行脚本,并输出报告 执行顺序如下: 第一 进入 安装的jmeter bin 目录下:(我安装的是E盘)

  8. python 执行环境

    一些函数 执行其它非python程序 1 一些函数 callable callable()是一个布尔函数,确定一个对象是否可以通过函数操作符(())来调用.如果函数可调用便返回True,否则便是Fal ...

  9. python实用脚本-通过jenkins界面化导出数据

    1.jenkins 配置 2.jenkins 脚本 ansible-playbook /opt/test.yaml --extra-vars "loanno=${loanno}" ...

  10. python实用脚本-定时导出数据库中的数据并且发送数据到邮箱

    1.发送邮件脚本 #coding=utf-8 import smtplib from email.header import Header from email.mime.text import MI ...

随机推荐

  1. FPGA学习之乒乓操作

    乒乓操作学习记录如下: 乒乓操作" 是一个常常应用于数据流控制的设计思想, 典型的乒乓操作方法如下图 所示: 乒乓操作的处理流程为:输入数据流通过" 输入数据选择单元"将 ...

  2. jQuery真伪数组转换

    // 真数组转伪数组 [].push.apply(obj,arr); // 伪数组转真数组 [].slice.call(obj);

  3. bash: pip3:未找到命令

    输入以下命令: 1 sudo apt-get install python3-pip 参考链接: https://www.cnblogs.com/banshaohuan/p/10963547.html

  4. 使用 python 快速搭建http服务

    python -m SimpleHTTPServer 8888 使用上面的命令可以把当前目录发布到8888端口. 直接浏览器访问 但是这条命令是当前运行的,不是后台运行的,也就是说如果Ctrl + C ...

  5. 部署属于自己的New bing Ai

    该项目来源 https://github.com/adams549659584/go-proxy-bingai 项目体验地址 https://bing.vcanbb.top/web/#/ 项目介绍 基 ...

  6. ES集群&kibana安装

    一.elasticsearch介绍 Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负 ...

  7. Netty源码学习3——Channel ,ChannelHandler,ChannelPipeline

    系列文章目录和关于我 零丶引入 在Netty源码学习2--NioEventLoop的执行中,我们学习了NioEventLoop是如何进行事件循环以及如何修复NIO 空轮询的bug的,但是没有深入了解I ...

  8. JS遍历Json串并获取Key和Value

    //data为json串 for (var key in data) { console.log(key); console.log(data[key]); }

  9. [TSG开发日志](一)软件基础框架

    目录 前言 说明 框架 TSG_Framework 一.底层信号机制 TSG_Caller 二.参数类型声明 TSG_Params 三.设备类声明 TSG_Device 四.设备配置文件控制 TSG_ ...

  10. 《Hadoop大数据技术开发实战》新书上线

    当今互联网已进入大数据时代,大数据技术已广泛应用于金融.医疗.教育.电信.政府等领域.各行各业每天都在产生大量的数据,数据计量单位已从B.KB.MB.GB.TB发展到PB.EB.ZB.YB甚至BB.N ...