如何使用python在Windows上执行linux命令?

问题描述 投票:0回答:0

上下文

我的任务是研究如何使用 python 执行 linux 命令。由于我使用的是 Windows,因此我必须首先执行“wsl”才能切换到我从微软商店下载的 ubuntu 发行版。请注意,我不是 python 程序员,但目前是 java 实习生。虽然 python 项目/脚本现在将部署在 Linux 机器上,但这是我测试程序的唯一方法。

问题

我遇到的问题是,如果我有一个命令列表,并且我试图逐个执行它们,由于某种原因,在每个命令的末尾都会找到一个回车符,因为显然在 Windows DOS 中使用回车符并且换行(“ ") 作为行结尾,而在 Linux 中仅使用换行符 (" ”)。

这是Python脚本

import subprocess


   
commands=["ls -al ~","pwd"]

# Initialize the WSL process
process = subprocess.Popen("wsl", stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)
# Execute each command in WSL
for command in commands:
    process.stdin.write((command)+"\n")
    
# Close the stdin and wait for the process to complete
process.stdin.close()
process.wait()
# Read and print the response from WSL
output = process.stdout.read()
print("WSL:", output)



我尝试过脱衣' '但它的差异绝对为零,就好像它不明白什么一样' ' 是。 这是输出:

WSL: ls: cannot access '~'$'\r': No such file or directory
-bash: line 2: $'pwd\r': command not found
python linux windows windows-subsystem-for-linux
© www.soinside.com 2019 - 2024. All rights reserved.