答案 0 :(得分:1)
您可以使用正则表达式从每行的文件行解析和提取uid。
import re
uids = set()
with open('...') as f:
for line in f:
m = re.match('$[a-z0-9]+', line)
if m:
uids.add(m.group(0))
print(len(uids))
答案 1 :(得分:1)
您可以使用以下命令打开文件并将行作为字符串获取:
with open("/path/to/file.txt") as file:
lines = list(file)
这将为您提供文本文件中所有行的列表。 既然你不想要重复,我认为使用set会是一个好方法。 (Set不包含重复项)
answer=set()
for x in lines:
answer.add(x[x.find(" ")+1:x.rfind(":")])
这将迭代所有行并在空格之后添加部分直到并且不包括:到集合,它将处理重复的情况。现在,答案应包含所有唯一网址
经过Python3.6测试
答案 2 :(得分:-1)
import re
A, List = ("String_1 URL_1:10\nString_2 URL_2:20\nString_3 URL_1:30".replace(" ", ",")).split("\n"), []
for x in range(len(A)):
Result = re.search(",(.*):", A[x])
if Result.group(1) not in List:
List.append(Result.group(1))
print(len(List))
这可以解决您的问题。