Arcticfoxer 发表于 2020-12-2 21:19:47

有关文件读取的for循环遍历

>>> n = open('D:/test.txt')
>>> for m in n:
        if len(m) == 8:
                print(m)

               
>>> m
'aafh'
>>> len(m)
4
>>>

txt文件里的代码:
jsuejhzh\njieshncf\njaiodjfaiweo\nasdf\nmxhgncif\niwiwiwiw\naafh

为啥不打印呐,枯了……

冬雪雪冬 发表于 2020-12-2 21:29:48

回车也算一个字符,所以长度是9不是8

Arcticfoxer 发表于 2020-12-2 21:37:10

冬雪雪冬 发表于 2020-12-2 21:29
回车也算一个字符,所以长度是9不是8

试了一下确实是,但是还想问下:
我把这里改成了4的时候:if len(m) == 4:
为何aafh不会打印出来呢?

冬雪雪冬 发表于 2020-12-2 21:46:32

Arcticfoxer 发表于 2020-12-2 21:37
试了一下确实是,但是还想问下:
我把这里改成了4的时候:if len(m) == 4:
为何aafh不会打印出来呢?

看看后面还有没有回车换行

Arcticfoxer 发表于 2020-12-3 18:54:19

冬雪雪冬 发表于 2020-12-2 21:46
看看后面还有没有回车换行

有点奇怪,我改成5,asdf、aafh都打不出来,返回空值

冬雪雪冬 发表于 2020-12-3 20:08:56

把循环改成
for m in n:
    print(m, len(m))
看看每行的长度

xjywdltzh 发表于 2020-12-3 22:44:39

我也是新手

open('D:/test.txt') 以字符串读入变量, \n不起作用

下面经测试成功

n = "jsuejhzh\njieshncf\njaiodjfaiweo\nasdf\nmxhgncif\niwiwiwiw\naafh"

for m in n.splitlines():
if len(m) == 4:
print(m)

伊格利斯 发表于 2020-12-4 02:36:32

冬雪雪冬 发表于 2020-12-3 20:08
把循环改成

看看每行的长度

学到了

Arcticfoxer 发表于 2020-12-4 09:19:32

xjywdltzh 发表于 2020-12-3 22:44
我也是新手

open('D:/test.txt') 以字符串读入变量, \n不起作用


还有这个bif

xjywdltzh 发表于 2020-12-4 15:46:09

Arcticfoxer 发表于 2020-12-4 09:19
还有这个bif

应该还有更好的方法,我是新手, 水平有限
页: [1]
查看完整版本: 有关文件读取的for循环遍历