Python SUBPROCESS.RUN表示文件不在适当的位置,尽管它在适当的位置

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

因此,当我尝试打开.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
    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)