如何使用 python 将特定文本从一个文件复制到另一个文件?

How to copy specific text from one file to another using python?

我正在编写一个 python 脚本来仅将 facebook group_id 从文件 A 复制到文件 B。 我在这里使用的代码是

searchquery = 'group_id='
with open('h1.txt') as f1:
    with open('h2.txt', 'a') as f2:
        lines = f1.readlines()
        for i, line in enumerate(lines):
            if searchquery in line:
                f2.write(line)`

当我 运行 这个脚本时,它 运行 成功并且 h2.txt 文件被创建为 h1.txt 的副本。谁能指导我出了什么问题?

除了我正在做的事情之外,还有什么有效的方法可以提取唯一的 facebook 群组名称和链接,请分享。谢谢

我的 h1.txt 文件是 here

来自 h1.txt 的所有 data 都在一行中,因此您最终将所有数据写入 h2.txt,因为您的 if searchquery in line 为真,因此您编写了这恰好是 h1.txth2.txt 中唯一的一行,如果您只想 group_id =.. 使用正则表达式:

with open("h1.txt") as f:
    import  re
    dat = f.read()
    print(re.findall("group_id=\d+", data))

输出:

['group_id=132946160231517', 'group_id=132946160231517', 'group_id=193252980718262', 'group_id=193252980718262', 'group_id=399162576788186', 'group_id=399162576788186']

如果您只想要 ID:

 dat = f.read()
 print(re.findall("group_id=(\d+)",data))

 ['132946160231517', '132946160231517', '193252980718262', '193252980718262', '399162576788186', '399162576788186']

如果你想要名字:

 re.findall('"name":"(.*?)"',data)
>>> with open('h1.txt') as f:
...     re.findall(r'group_id=[0-9]+', f.read())
...
['group_id=132946160231517', 'group_id=132946160231517', 'group_id=193252980718262', 'group_id=193252980718262', 'group_id=399162576788186', 'group_id=399162576788186']