如何使用python在wsl(Linux的Windows子系统)上打开和运行一些命令?
我是python新手,我想打开WSL并通过键入“SAC”启动程序“SAC”。并在sac中运行一些命令来合并一些sac苍蝇 希望你们能帮我解决问题! 提前谢谢 这是我在CMD中尝试的命令,我想在python中执行:如何使用python在wsl(Linux的Windows子系统)上打开和运行一些命令?,python,cmd,subprocess,windows-subsystem-for-linux,Python,Cmd,Subprocess,Windows Subsystem For Linux,我是python新手,我想打开WSL并通过键入“SAC”启动程序“SAC”。并在sac中运行一些命令来合并一些sac苍蝇 希望你们能帮我解决问题! 提前谢谢 这是我在CMD中尝试的命令,我想在python中执行: E:\WIHG\27-08-2019\gcf_conversion\SAC>wsl vivek@DESKTOP-15521UM:/mnt/e/WIHG/27-08-2019/gcf_conversion/SAC$ sac SEISMIC ANALYSIS CODE [11/11
E:\WIHG\27-08-2019\gcf_conversion\SAC>wsl
vivek@DESKTOP-15521UM:/mnt/e/WIHG/27-08-2019/gcf_conversion/SAC$ sac
SEISMIC ANALYSIS CODE [11/11/2013 (Version 101.6a)]
Copyright 1995 Regents of the University of California
SAC> ls *_*.sac
20060501_1400z.sac 20060501_1500z.sac 20060501_1600z.sac
SAC> merge ./20060501_1400z.sac ./20060501_1500z.sac
SAC> write 20060501.sac
所以我想要这样的东西:
(此代码旨在说明我正在寻找的内容)
我想打开wsl,然后在那里运行sac命令来启动sac程序
在SAC中执行其他命令
p= subprocess(['wsl','sac'],stdin=PIPE,stdout=PIPE,stderr=PIPE)
p.stdin.write(subprocess(['ls *_*.sac'],stdin=PIPE,stdout=PIPE,stderr=PIPE) )
依此类推。这在中进行了描述。在wsl
之后传递的任何内容都将传递到Linux发行版。工作目录是当前CMD/Powershell目录
例如:
C:\temp> wsl ls -la
返回C:\Temp的内容
这意味着您可以创建一个调用SAC或python的shell脚本,并让它在WSL中运行,而不是试图让python在Windows上调用WSL。我没有使用SAC,但我怀疑您可以使用wsl中的最后一个示例。如果将脚本保存到文件中,例如myfile.sh
,则可以使用wsl myfile.sh
调用该脚本,如中所述。在wsl
之后传递的任何内容都将传递到Linux发行版。工作目录是当前CMD/Powershell目录
例如:
C:\temp> wsl ls -la
返回C:\Temp的内容
这意味着您可以创建一个调用SAC或python的shell脚本,并让它在WSL中运行,而不是试图让python在Windows上调用WSL。我没有使用SAC,但我怀疑您可以使用wsl中的最后一个示例。如果将脚本保存到一个文件中,例如
myfile.sh
,您可以使用wsl myfile.sh
调用它,尝试时会发生什么?如果这不是您想要的,请解释您需要帮助的代码部分。我想使用python的子流程模块来实现这一点!我正试图通过WSL在windows中执行它。我是python新手!请提供一份报告。我们对您想要做什么有一个大致的想法,但没有具体的问题/要求。这些文件是否总是同名?尝试时会发生什么情况?如果这不是您想要的,请解释您需要帮助的代码部分。我想使用python的子流程模块来实现这一点!我正试图通过WSL在windows中执行它。我是python新手!请提供一份报告。我们对您想要做什么有一个大致的想法,但没有具体的问题/要求。这些文件总是同名吗?谢谢你的建议!我想如果我能用python完成所有工作,而不是在两者之间运行bash脚本,那会更好。由于我不能做到这一点,我正在尝试你的建议。谢谢你的建议!我想如果我能用python完成所有工作,而不是在两者之间运行bash脚本,那会更好。既然我不能做到这一点,我就试试你的建议。