nettkd 发表于 2022-2-10 21:54:40

有一行代码没看懂

with open ('test.txt','r') as f:
    lines = f.readlines()
print(lines)
with open('test.txt','w') as new:
    for line in lines:
      if line not in ['0\n','1\n']:# 求教各位,请问这行怎么理解?是什么意思呀?没看懂
            new.write(line)            
谢谢了

isdkz 发表于 2022-2-10 22:31:27

就是line的内容不是'0\n' 或 '1\n' 其中一个,按行读出来的内容一般末尾都是换行符(\n) 的,也就是说这个实现的效果是过滤内容为 0 或 1 的行

jackz007 发表于 2022-2-10 23:36:24

      这一句的意思是,如果 line 不是以字符 '0' 或 '1' 结尾,那就把 line 写入文件 'test.txt' 。其效果,就是从文件 'test.txt' 中,删除所有以字符 '0' 或者 '1' 结尾的文本行。

Twilight6 发表于 2022-2-11 09:41:24


if line not in ['0\n','1\n']:
    new.write(line)

因为 readlines 读取文件对象时,会将一整行读取下来,即包含不可见字符 \n 换行符

所以 if 这里的意思就是若读取的字符不是 '0\n' 或 '1\n',那么就将读取到的内容写入新的文件对象中

页: [1]
查看完整版本: 有一行代码没看懂