我有一个带数字的文件,我需要找到丢失的文件。
cat head.txt
7045000000
7045000001
7045000003
如您所见,缺少数字7045000002。此代码无效:
check=int(7044999999)
with open('head.txt' , 'r') as f:
for line in f:
myl = line[:5]
if myl == '70450':
if int(line) == check+1:
check = int(line)
else:
check = int(line)+1
print check
数字应以70450开头,并且“myl”变量是必需的。
答案 0 :(得分:1)
这是逻辑;
for i in range(7045000000,9045000000):
if i not in line:
print ("{} is missing".format(i))
只需使用for
循环的基础知识即可。 9045000000
是一个随便的数字。我实际上并不知道您的数据库,因此您可以(应该)更改range()
函数中的最后一个数字。
以下是演示;
with open("coz.txt") as f:
rd=f.readlines()
x=[t.strip("\n") for t in rd]
for i in range(7045000000,7045000004):
if str(i) not in x:
print ("{} is missing".format(i))
输出;
>>>
7045000002 is missing
>>>
这是我尝试过这些代码的.txt文件;