【问题标题】:python script exceutes bat file: commands not recogned, identical bat file executed by user runs without issuepython脚本执行bat文件:无法识别命令,用户执行的相同bat文件运行没有问题
【发布时间】:2017-11-12 13:58:49
【问题描述】:

我正在尝试让 python27 执行一个非常简单的 bat 文件(此代码已简化/简化为一行)。 bat文件包含:

C:/Users/dave/Desktop/vlc-2.2.6/vlc.exe

创建和运行bat文件的python代码是

import subprocess
f = open('myfile.bat', 'w')
f.write('C:/Users/dave/Desktop/vlc-2.2.6/vlc.exe')
f.close()
subprocess.Popen('C:/Users/dave/Desktop/myfile.bat', stdout=subprocess.PIPE)

使用空闲运行 python 脚本,打开 vlc。 双击bat文件,vlc打开。 双击python脚本cmd窗口立即打开和关闭,vlc命令不执行

我通过按下暂停中断按钮发现了一次错误,它指出 vlc 不是可识别的内部或外部命令,显然是通过空闲或我自己调用 bat 文件时。

我对这种脚本风格感到困惑和陌生。

任何建议将不胜感激。

非常感谢

戴夫

【问题讨论】:

  • 添加一些代码以防止双击的脚本立即退出,并在此处复制粘贴确切的错误。例如,将Popen(...) 包围为:try: subprocess.Popen(...); except Exception as e: print(e); input("Press RETURN to exit")

标签: python batch-file


【解决方案1】:

解决得很好

我决定卸载所有python版本并重新安装python27 64bit。

无需重启;

正在执行命令我只收到 5 个相同的错误说明:

The process tried to write to a nonexistent pipe 

我的代码明显错了!

但是,vlc 打开了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2011-11-25
    • 2015-10-13
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 2021-05-31
    相关资源
    最近更新 更多