【发布时间】:2018-04-21 15:02:02
【问题描述】:
这是我的第一篇文章,我对 Python 编码非常熟悉。 我的意图是调用一个批处理文件从 Python 脚本中执行。
我已经尽职尽责地进行了研究,并发现了 call() 方法与库:(来自子流程导入调用),以及 os.system() 方法与库:(import os)
这里有一些细节:
1.当我手动运行批处理脚本时,它会按预期执行每一行代码。
2.当我使用上述两种方法之一从Python调用批处理脚本时,部分批处理文件会执行。
这是批处理脚本中的代码:
@ECHO OFF
ECHO "test" >> file.txt
PAUSE
这是使用 os.system() 方法的 Python 脚本代码
import os
runfile = "C:\\Data\\Automation\\Test\\run.bat"
os.system(runfile)
print("Hello World")
现在,当我手动运行批处理脚本时,文件会按预期以 (file.txt) 的形式写入我的驱动器。
但是当我运行Python脚本时,批处理文件中的所有代码都被执行了,除了“ECHO”test“>>file.txt”
真正有趣的是在 PyCharm 中,批处理文件输出出现在我的状态窗口中!就像批处理文件中的代码以某种方式集成到 Python 中一样。而且它不仅不会出现,还可以与之互动!
以下是所有步骤:
1. 运行 Python 脚本
2.调用BatchScript
3. 问题:file.txt 没有写入磁盘
4. 输出'按任意键继续。 . ." 在 Python 状态窗口中
5.按回车
(返回完成余下的Python代码执行)
6、在Python状态窗口中输出“Hello World”
如您所见,问题是: 手动执行批处理脚本会导致 file.txt 被写入 其中python脚本的执行不会将file.txt写入磁盘
我希望这是一些可靠的细节,可以帮助确定问题所在。
非常感谢您为此提供的帮助,非常感谢您所有的时间和努力!!! =)
【问题讨论】:
标签: windows python-3.x batch-file cmd pycharm