Python SUBPROCESS.RUN表示文件不在适当的位置,尽管它在适当的位置
因此,当我尝试打开.bat文件时:Python SUBPROCESS.RUN表示文件不在适当的位置,尽管它在适当的位置,python,Python,因此,当我尝试打开.bat文件时: Traceback (most recent call last): File "accorddownload.py", line 31, in <module> subprocess.run(["Tools\aAIvwb.bat"], creationflags=0x08000000) File "C:\Program Files\Python37\lib\subprocess.py", line 472, in run
Traceback (most recent call last):
File "accorddownload.py", line 31, in <module>
subprocess.run(["Tools\aAIvwb.bat"], creationflags=0x08000000)
File "C:\Program Files\Python37\lib\subprocess.py", line 472, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Program Files\Python37\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "C:\Program Files\Python37\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
但问题是我检查了这个位置20次,并一直试图修复,但同样的事情正在发生。这里是文件结构
AB
|
|--Tools--|
| |--aaitp.bat
| |--aAIvwb.bat
| |--mdfa.bat
|
|--basefile.py
编辑1:当前工作目录在整个文件中从不更改我怀疑\r\n会逃跑。您是否考虑过这样打电话:
subprocess.run([r"tools\aAIvwb.bat"], creationflags=0x08000000)
请注意,我在双引号前加了一个“r”。您的文件系统显示
Tools
,您的python源代码查找Tools
?你的意思是什么?我认为资本化并不重要。用工具测试它。给出相同的错误os.path.exists('tools\AAIvwb.bat)
说什么?当然,资本化也很重要。请尝试打印os.getcwd()
以确认您的工作目录在哪里。它返回TrueOk我将尝试使用snow让您知道哇。其实没想到会有效果,非常感谢!(正如你所知道的,我是python新手)你需要在Windows平台上经常这样做。它将\a解释为一个字符,而不是将\用作目录分隔符。如果希望的是目录分隔符,请在字符串前面使用“r”使其成为“原始”字符串。
subprocess.run([r"tools\aAIvwb.bat"], creationflags=0x08000000)