为什么 Python 调用子进程命令不正确?



这是我之前的问题的后续,因为我已经取得了进展(在这一点上无关紧要(。值得注意的是,我正在学习python,几乎不知道我在做什么,但是,我对编程很熟悉。我正在尝试通过python在Windows终端中调用SCP命令。但是,它没有达到预期的效果。该脚本运行流畅,没有错误,它会打印我编写的调试命令。但是,SCP 调用实际上并没有在另一端通过。为了确保我有正确的命令,我将其设置为打印它之后调用的相同命令。当我复制此打印命令并将其粘贴到 windows 命令终端时,它会给出所需的效果。为什么相同的命令在 python 中无法正常工作?谢谢。这是我的脚本:

import subprocess
subprocess.run(['scp', 'c:/users/<name>/desktop/OOGA.txt', 'pi@<IP>:here/'], shell=True)
print ("done")
print ('scp', 'c:/users/<name>/desktop/OOGA.txt', 'pi@<IP>:here/')

如果 shell 设置为 True,请尝试使用原始字符串:

from subprocess import run as subrun
status = subrun(r'scp c:/users/<name>/desktop/OOGA.txt pi@<IP>:here/',shell=True)
print("Done")
print(status)         

相关内容

  • 没有找到相关文章

最新更新