gpt4 book ai didi

python - 在 Windows 计算机上从 Python 运行 Linux 命令

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:12 25 4
gpt4 key购买 nike

我正在尝试学习如何从 Python 运行命令行命令。我可以用 DOS 做到这一点:

import subprocess
subprocess.call("dir",shell=True)

这很好,但我需要能够为 linux 命令执行此操作,因为我的公司使用 linux 服务器。我正在使用 Mobaxterm 来运行本地 linux session 。当我尝试这个时:

import subprocess
subprocess.call("ls",shell=True)

我从终端收到这个错误:

'ls' is not recognized as an internal or external command, operable program or batch file.

这对我来说听起来很可笑,因为 ls 显然是一个 linux 命令。

如果我不包含 shell=True,我会得到这个错误:

Traceback (most recent call last):
File "ConsolePractice.py", line 4, in <module>
subprocess.call("ls")
File "C:\Users\my_username\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 560, in call
with Popen(*popenargs, **kwargs) as p:
File "C:\Users\my_username\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "C:\Users\my_username\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 1220, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

那我做错了什么?我怎样才能让它发挥作用?

编辑:感谢您的评论。适用于 Windows 的 Python 不适用于我正在尝试做的事情。我连接到 Linux 服务器并执行了以下操作:

cat > ConsoleCmd.py
import subprocess
subprocess.call("ls",shell=True)
^C
python ConsoleCmd.py

... 和 ls 运行。发现了问题。我只需要将我的脚本放到服务器上并从那里运行它们。谢谢大家

最佳答案

我能够通过打开 SFTP Session 来解决这个问题。在 Mobaxterm 中,将 python 文件传输到服务器,然后直接在服务器上运行该文件(服务器上已经安装了 python)。

关于python - 在 Windows 计算机上从 Python 运行 Linux 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37469185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com