我尝试在系统上运行几个简单的命令行命令,尽管代码运行了,但我看不到窗口的打开。
例如:
command = 'cmd'
os.system(command)
为什么我看不到我的cmd
窗口?我在控制台窗口中看到的所有内容(我正在使用pycharm
)是
Microsoft Windows [Version 10.0.18362.449]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\blabla\tmp>
我还尝试使用appium
打开command line
服务器,并且我有.bat
文件调用appium
(这是我放入.bat
文件中的内容并且可以手动正常运行):
这是我的.bat
文件的路径:
C:\tmp\scripts\start_appium.bat
命令
p = subprocess.Popen("start_appium.bat", cwd=r"C:\tmp\scripts")
stdout, stderr = p.communicate()
我收到了这个error
:
回溯(最近通话最近):文件 init 中的“ C:\ Python37 \ lib \ subprocess.py”行775 restore_signals,start_new_session)文件“ C:\ Python37 \ lib \ subprocess.py”,行1178,在_execute_child中 startupinfo)文件“ C:\ Program Files \ JetBrains \ PyCharm Community Edition 2019.2.4 \ helpers \ pydev_pydev_bundle \ pydev_monkey.py”,行 536,在new_CreateProcess中 返回getattr(_subprocess,original_name)(app_name,patch_arg_str_win(cmd_line),* args)FileNotFoundError:[WinError 2] 系统找不到指定的文件
答案 0 :(得分:0)
您不需要使用python启动cmd窗口,也不能使用os.system()
。 os.system()
的基本操作是在系统控制台上运行命令。在Windows上是cmd,在Linux上是终端。使用命令os.system()
只会得到命令的输出,而没有真正看到cmd窗口。
如果在python上运行命令os.system("cmd")
,则打开cmd窗口并键入"cmd"
时将得到相同的输出。该命令在两个程序中都返回Windows的版本。使用该功能,您可以使用python运行一些更有趣的cmd命令,例如os.system("ipconfig")
或os.system("ping www.example.com")
。
关于第二个问题,系统找不到文件的路径。这意味着您有错别字或路径不正确。 希望我能帮上忙!
答案 1 :(得分:0)
Python文档明确提到cwd
参数不是搜索主管的目录。
如果cwd不为None,则子级的当前目录将在执行前更改为cwd。请注意,搜索可执行文件时不会考虑此目录,因此您无法指定程序相对于cwd的路径。
您可以在此处参考文档。 https://docs.python.org/2/library/subprocess.html#popen-constructor
还尝试这样的事情
import subprocess
p = subprocess.Popen("C:\tmp\scripts\start_appium.bat")