我在比较直线== a [1]中遇到问题,因为它没有进入这个循环。我尝试测试输出,发现文件中已经存在值'a'。以下是我的代码。
a = "djsajdlasak"
f = open('users.txt','r+')
k = 0
for line in f:
print line
if line == a:
k = 1
if k == 0:
f.write(a + '\n')
f.close()
答案 0 :(得分:0)
for line in f
与行终结符一起产生行,因此您需要删除它们,请参阅to read line from file in python without getting "\n" appended at the end
答案 1 :(得分:0)
您需要从正在从文件中读取的行中删除换行符/行终止符。您可以使用str.strip
来实现您的愿望。
更改专栏for line in f:
for line in(elem.strip() for elem in f):
或在for
声明后添加额外的一行
for line in f:
line = line.strip()
print line
if line == a:
k = 1