【问题标题】:Why i got error "The system cannot find the path specified." in subprocess python为什么我收到错误“系统找不到指定的路径”。在子进程 python
【发布时间】:2021-08-18 08:37:23
【问题描述】:
import subprocess
import os
....
....
opn=open(ak,'w')
tt=txt.get(1.0,END)
opn.write(tt)
lst=[]
for i in range(0,len(ak)):
    if ak[i]=='/':
        lst.append(i)
    else:
        pass
val=lst[-1]+1
path=ak
file_name=path[val:]
sudo_path_name=path[3:val-1]
dir_name=path[:2]
path_name="cd "
for i in sudo_path_name:
    if i=='/':
        path_name+='\\'
    else:
        path_name+=i
command=dir_name+'&&'+path_name+'&&'+file_name
os.system(command)
output = subprocess.getoutput(command)
print(output)

ak 是文件的路径 我的目标是在执行 ak 时打印输出.. 但是每当我尝试执行它时,输出为

The system cannot find the path specified.
The system cannot find the path specified.

当我得到命令并使用命令提示符运行时,它成功执行,没有错误.. 谢谢你

【问题讨论】:

  • 哪一行具体导致“找不到路径”错误?
  • edit您的问题并添加完整的错误回溯。
  • 总是将完整的错误消息(从单词“Traceback”开始)作为文本(不是截图,不是链接到外部门户)有问题(不是评论)。还有其他有用的信息。
  • 试试/full/path/to/file。代码可能在您期望的不同文件夹中运行。它可能以不同的系统设置和不同的权限运行。
  • 我不明白为什么你两次运行相同的代码 - os.system()subprocess.getoutput()。你只需要subprocess.getoutput()

标签: python subprocess command-prompt os.system


【解决方案1】:

这取决于编辑器。它也发生在我身上,我使用了 VS-code,但是当我更改 cwd 时它起作用了!所以可能是那个问题。
还可以尝试放置完整路径或尝试以下代码:-

from pathlib import Path
import os
os.chdir(Path(__file__).parent)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 2020-05-27
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多