我正在尝试运行这段代码,但我遇到了问题,它没有按我的需要工作。
我需要的是检查项目列表中的代码是否已保存在 file.txt 中,如果它已经存在,我需要从列表中删除该项目。
然后将项目列表保存为新 file.txt 中的字符串
items = [['e5860', '2020-06-10'], ['e6056', '2020-06-10'], ['e6008', '2020-06-10'], ['100080020', '2020-06-10'], ['e6463', '2020-06-10'], ['KW13012', '2020-06-10'], ['e3589', '2020-06-10']]
for i, item in enumerate(items):
with open('file.txt') as f:
if item[0] in f.read():
items.pop(items.index(item))
with open('file.txt', 'w') as f:
f.write(str(items))
print(items)
当我第一次运行此代码时,file.txt 将为空,因此输出应为:
[['e5860', '2020-06-10'], ['e6056', '2020-06-10'], ['e6008', '2020-06-10'], ['100080020', '2020-06-10'], ['e6463', '2020-06-10'], ['KW13012', '2020-06-10'], ['e3589', '2020-06-10']]
然后,如果我再次运行相同的代码,输出应该是一个空的项目列表(因为它们之前都保存在文件中并从列表中删除)。
但是当我运行它时,第一个输出是正确的,我从项目中获取列表,如果我再次运行它然后我得到这个作为输出:
[['e6056', '2020-06-10'], ['100080020', '2020-06-10'], ['KW13012', '2020-06-10']]
为什么这个代码没有从列表中删除?
我发现从列表中删除的项目是列表的偶数。但我不明白为什么:/
三国纷争
当年话下
随时随地看视频慕课网APP
相关分类