我有一段代码来读取两个文件,将它们转换成集合,然后从另一个集合中减去一个集合。我想用一个字符串变量(installedPackages)来代替文件。我还想为“c”写一个变量。你知道吗
a = open("/home/user/packages1.txt")
b = open("/home/user/packages.txt")
c = open("/home/user/unique.txt", "w")
for line in set(a) - set(b):
c.write(line)
a.close()
b.close()
c.close()
我尝试了以下方法,但无效:
for line in set(installedPackages) - set(b):
我试过使用StringIO,但我认为我使用不当。你知道吗
最后,这里是我如何创建installedPackages
:
stdout, stderr = p.communicate()
installedPackages = re.sub('\n$', '', re.sub('install$', '', re.sub('\t', '', stdout), 0,re.MULTILINE))
样品文件包.txt地址:
humanity-icon-theme
hunspell-en-us
hwdata
hyphen-en-us
ibus
ibus-gtk
ibus-gtk3
ibus-pinyin
ibus-pinyin-db-android
ibus-table
像下面这样?你知道吗
编辑:经过多次迭代:
如果要写入字符串缓冲区文件,如使用^{}
set数据类型将iterable作为参数,因此,如果installedPackages包含多个项的字符串,则需要按分隔符将其拆分。例如,以下代码将字符串拆分为所有逗号:
相关问题 更多 >
编程相关推荐