我有几个Linux命令,我想在Windows机器上运行.如何在Windows上运行Linux命令从Python



我有一些 Linux 命令可以生成令牌。我已经在Linux机器上使用Python的操作系统库自动化了这些命令。它工作正常。

但是,当我在窗口中尝试相同的代码时,它没有返回任何内容。

以下是我尝试过的代码。

uniqueKey = os.popen('echo -n kittu | base64')
data = uniqueKey.read()
print data

在 Linux 中,我得到了以下输出

a210dHU=

在窗口中,它是空的。

命令特定于操作系统。例如,在Linux上,ls列出目录中的文件,而在Windows上,它是dir

Windows 有一个类似于 Linux 的echo,但不支持标志-n - 这两个命令不相关,只是名称重合。

Windows也没有base64命令。

它也没有使用|来表示管道,尽管我相信PowerShell确实如此。


为什么要使用操作系统命令?Python 原生支持 base64 编码:

uniqueKey = base64.b64encode('kittu')

如果你打算经常使用Linux命令,但仍然想要一台Windows机器,你可以安装一个Linux子系统:microsoft documentation

我找到了在Windows上执行Linux命令的解决方案。我已经在Windows机器中启用了"bash"。我使用Python的"子进程"库在Windows上运行"Linux"命令。以下是代码。

bash = subprocess.Popen(['bash'],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
result=bash.communicate(input="echo -n kittu|base64")
print result[0]

最新更新