Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python在wsl(Linux的Windows子系统)上打开和运行一些命令?_Python_Cmd_Subprocess_Windows Subsystem For Linux - Fatal编程技术网

如何使用python在wsl(Linux的Windows子系统)上打开和运行一些命令?

如何使用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

我是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/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脚本,那会更好。既然我不能做到这一点,我就试试你的建议。