Python-Errno 2:没有这样的文件或目录
因此,我试图使用Python-Errno 2:没有这样的文件或目录,python,cmd,errno,Python,Cmd,Errno,因此,我试图使用subprocess.Popen()以“复杂”的方式打开python脚本。虽然我无法打开它,因为我的电脑名中有空格。我试过使用双引号和单引号,但仍然不起作用 这是我试图执行的代码行 subprocess.Popen(“cmd.exe/C python'\Users\Terra Byte\Desktop\jdos3\jdos3\SYS64\bootthingy.py') 如您所见,我使用单引号来包装目录路径,但这是我在执行时遇到的错误 C:\Users\Terra Byte\De
subprocess.Popen()
以“复杂”的方式打开python脚本。虽然我无法打开它,因为我的电脑名中有空格。我试过使用双引号和单引号,但仍然不起作用
这是我试图执行的代码行
subprocess.Popen(“cmd.exe/C python'\Users\Terra Byte\Desktop\jdos3\jdos3\SYS64\bootthingy.py')
如您所见,我使用单引号来包装目录路径,但这是我在执行时遇到的错误
C:\Users\Terra Byte\Desktop\jdos3\jdos3>python:无法打开文件“”\Users\Terra:[Errno 2]没有这样的文件或目录
它似乎完全忽略了我的单引号。永远不要尝试将命令名构建为字符串 在这种特殊情况下,请注意单引号对windows没有保护作用(与Linux/Unix不同),这解释了您使用的引号效率低下。使用双引号可能会奏效,但这不是最好的方法 当可以传递参数列表时,切勿使用字符串。这将有助于:
subprocess.Popen(["python",r'\Users\Terra Byte\Desktop\jdos3\JDOS3\SYS64\bootthingy.py'])
- 使用未加引号的字符串列表,并让
完成工作子流程
- 删除
前缀,因为cmd/c
前缀就足够了(或者,删除python
以离开python
,让文件关联完成工作)[“cmd”、“/c”
- 使用原始字符串前缀以避免解释反斜杠