由于python程序需要长期执行,但是电脑偶尔会出现断电重启的情况,为了便于查看之前程序运行时的输出内容,产生了将程序运行结果保存到txt文件的需求。
1、python程序开机自启动
1)要在Windows启动时运行脚本,先使用Windows+R快捷键打开 “运行” 对话框,输入命令:
shell:startup
作者的路径如下:
C:\Users\86208\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2)在该路径下创建一个批处理文件,(例如start.bat
)。
可通过先创建txt文件,再另存为.bat文件。
例如:
py -i D:\Pythonproject\working\temptxt.py
pause
再点击“文件”-“另存为”,保存类型选择“所有文件”,在文件名后添加“.bat”,然后点击“保存”即可。
上面的py -i 后面接的就是需要运行的python文件路径。
pause的作用是当程序报错时,不会自动关闭cmd窗口。
2、PowerShell/cmd输出内容保存到txt文件
1)cmd输出内容保存到txt文件:通过重定向命令行输出到文本文件来保存输出。
在 Windows 的命令提示符中,你可以使用 >
符号来实现。电脑自启动会通过命令提示符cmd窗口执行.bat文件。
例如:
py -i D:\Pythonproject\working\temptxt.py > D:\Pythonproject\working\output.txt
这样程序的运行结果就会保存在output.txt文件中,但不会显示在cmd窗口。
注意:上面的代码每次运行会重新覆盖output.txt文件。
如果你想每次运行时将新输出追加到文件末尾,可以使用 >>
:
py -i D:\Pythonproject\working\temptxt.py >> D:\Pythonproject\working\output.txt
2)PowerShell输出内容保存到txt文件
如果你想同时在屏幕上显示并保存输出,可以使用 PowerShell,并使用 Tee-Object
命令。cmd中就不支持该功能了。
在 PowerShell 中运行以下命令:
py -i D:\Pythonproject\working\temptxt.py | Tee-Object -FilePath D:\Pythonproject\working\output.txt
上述代码Tee-Object
默认是覆盖文件内容的。
如果你想追加输出到文件而不是覆盖,使用 -Append
参数:
py -i D:\Pythonproject\working\temptxt.py | Tee-Object -FilePath D:\Pythonproject\working\output.txt -Append
注意:1、如果提示“py : 无法将“py”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再
试一次。”,就将上述命令中的py替换为python。
2、如果上面的.bat文件路径没有正确自启动python程序,或者电脑存在多个账户,也可以尝试在该路径存放.bat文件。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup