我需要点击一个按钮来调用python函数(我这样做了),但现在:我需要一个python脚本打开一个新的cmd,并在打开的cmd我想做2个命令:Cd并运行python文件这段代码是我能做的最好的事情,但它没有运行脚本!
import os
username = os.getlogin()
os.system('start cmd /k ; cd C:\Users\' + username + '\Desktop\Automatisation & python serverSender.py')
恢复:启动cmd/k(打开新cmd并保持)cd C:Users' + username + 'Desktop automalisation(更改目录)python serversend .py(在自动化目录下运行python脚本)
但是最后一个命令:python serversend .py没有执行!正如您在屏幕上看到的,当我单击按钮时,该函数打开一个新的cmd,它进入cd命令中的目录,但它没有启动serversend .py文件!Cmd打开
知道如何运行第三个命令吗?(我不想在另一个cmd中运行它,我想用第一个命令在打开的cmd中运行它)谢谢!
&
由外层解释,而不是由start
内部解释。您需要通过将&
更改为^&
来转义它:
os.system('start cmd /k ; cd C:\Users\' + username + '\Desktop\Automatisation ^& python serverSender.py')
试图检查到这个,我不认为这是一个python的问题。
我试着这样做,从命令行,为了比较:
start CMD/k CD ..,cd . .
它没有工作。只有第一张"cd……"得到了执行。
看起来"&"用"cmd/k"串命令不是一个成功的方法。我检查了&&
在进一步研究之后,我在下面的链接中找到了一个建议的解决方案,它涉及使用单行临时编写脚本并执行该脚本。(虽然我没有尝试过)
https://superuser.com/questions/62850/execute-multiple-commands-with-1-line-in-windows-commandline