gpt4 book ai didi

python - 在python中解析字符串列表

转载 作者:行者123 更新时间:2023-11-28 22:54:47 25 4
gpt4 key购买 nike

我试图在打印此列表时删除注释。

我正在使用

output = self.cluster.execCmdVerify('cat /opt/tpd/node_test/unit_test_list')
for item in output:
print item

这非常适合给我整个文件,但我如何在打印时删除评论?

由于文件所在的位置,我必须使用 cat 来获取文件。

最佳答案

self.cluster.execCmdVerify 函数显然返回一个iterable,所以您可以简单地这样做:

import re

def remove_comments(line):
"""Return empty string if line begins with #."""
return re.sub(re.compile("#.*?\n" ) ,"" ,line)
return line

data = self.cluster.execCmdVerify('cat /opt/tpd/node_test/unit_test_list')

for line in data:
print remove_comments(line)

下面的例子是一个字符串输出:

为了灵活起见,您可以从一个字符串(只要它是一个字符串)创建一个类似文件的对象

from cStringIO import StringIO
import re

def remove_comments(line):
"""Return empty string if line begins with #."""
return re.sub(re.compile("#.*?\n" ) ,"" ,line)
return line

data = self.cluster.execCmdVerify('cat /opt/tpd/node_test/unit_test_list')
data_file = StringIO(data)

while True:
line = data_file.read()
print remove_comments(line)
if len(line) == 0:
break

或者在您的for-loop中使用remove_comments()

关于python - 在python中解析字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17650298/

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