gpt4 book ai didi

python - 如何获取 os.system() 输出作为字符串而不是一组字符?

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:34 24 4
gpt4 key购买 nike

我正在尝试从 os.system 获取输出使用以下代码:

p = subprocess.Popen([some_directory], stdout=subprocess.PIPE, shell=True)
ls = p.communicate()[0]

当我打印输出时,我得到:

> print (ls)
file1.txt
file2.txt

输出以某种方式显示为两个单独的字符串,但是,当我尝试使用 for 循环打印文件名字符串时,我得到而是字符列表:

>> for i in range(len(ls)):
> print i, ls[i]

输出:

0 f
1 i
2 l
3 e
4 1
5 .
6 t
7 x
8 t
9 f
10 i
11 l
12 e
13 2
14 .
15 t
16 x
17 t

我需要帮助确保 os.system()输出以字符串形式返回并且不是一组字符。

最佳答案

p.communicate 返回一个字符串。它可能看起来像一个文件名列表,但它只是一个字符串。您可以通过按换行符拆分将其转换为文件名列表:

s = p.communicate()[0]
for line in s.split("\n"):
print "line:", line

您是否知道有内置函数可以获取目录中的文件列表?

关于python - 如何获取 os.system() 输出作为字符串而不是一组字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42226998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com