Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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将命令输出到列表_Python_Linux_Bash_Shell - Fatal编程技术网

使用Python将命令输出到列表

使用Python将命令输出到列表,python,linux,bash,shell,Python,Linux,Bash,Shell,我正在编写一个自动化脚本,它需要运行一个命令,命令的输出应该被捕获为一个列表 例如: # ls -l | awk '{print $9}' test1 test2 如果有人有任何想法来实现这一点,请指导我。您可以根据需要对字符串进行后期处理 string.splitlines()()将字符串拆分为行列表 如果需要进一步拆分结果,可以使用.split()您可以使用 service_states = s.read().splitlines() 但请注意,这是脆弱的:文件名可以包含奇数字符(如空格)

我正在编写一个自动化脚本,它需要运行一个命令,命令的输出应该被捕获为一个列表

例如:

# ls -l | awk '{print $9}' test1 test2
如果有人有任何想法来实现这一点,请指导我。

您可以根据需要对字符串进行后期处理

string.splitlines()
()将字符串拆分为行列表

如果需要进一步拆分结果,可以使用
.split()

您可以使用

service_states = s.read().splitlines()
但请注意,这是脆弱的:文件名可以包含奇数字符(如空格)


因此,您最好使用
os.listdir(path)
,它会为您提供一个文件名列表。

子流程不需要:

a, d , c = os.walk('.').next()
service_state = d + c

只需在命令字符串上使用
s.read().splitlines()
就可以了;除非你想在你的软件中发现一些错误。如果你不需要,我不会解析
ls-l
。您可以将globbing与
*
一起使用,以展开当前目录中的所有文件和目录。e、 g.
echo*
@SwaroopKundeti:那么你可能想接受答案:谢谢亚伦,我不知道如何接受答案,非常感谢
a, d , c = os.walk('.').next()
service_state = d + c