d714520540 发表于 2020-4-21 09:13:55

换行符的问题?


import random
f=open("E:\\t.txt","w")
f.write("1011401119\n1011401118\n1011401120\n1011401122")
f.close()
f=open("E:\\t.txt","r")
i=f.readlines()

for i in f.readlines():
    i=line.strip('\n',"\r")
print(random.sample(i,4))
为啥打印出来的结果是:['1011401122', '1011401119\n', '1011401118\n', '1011401120\n']
换行符去不掉,是我哪里写错了啊

qiuyouzhi 发表于 2020-4-21 09:16:01

你如果遍历列表然后打印就不会有问题了。

wp231957 发表于 2020-4-21 09:16:41

用replace替换

sunrise085 发表于 2020-4-21 09:27:15

本帖最后由 sunrise085 于 2020-4-21 10:04 编辑

你的程序for循环没有起到任何作用,
for之前有个i,在最后一行用的还是之前的那个i
for循环内的i是局部变量,不会对外面的i产生任何影响。

还有,for循环中你把每一行的'\n'删掉后,并没有保存啊,你赋值给i,再次循环i就没有了啊

再者strip函数用的好像不对吧?

import random
f=open("E:\\t.txt","w")
f.write("1011401119\n1011401118\n1011401120\n1011401122")
f.close()
f=open("E:\\t.txt","r")
k=f.readlines()
print(k)
for i in range(len(k)):
    k=k.strip('\n')
print(random.sample(k,4))

d714520540 发表于 2020-4-21 10:03:43

sunrise085 发表于 2020-4-21 09:27
你的程序for循环没有起到任何作用,
for之前有个i,在最后一行用的还是之前的那个i
for循环内的i是局部变 ...

谢谢啊
页: [1]
查看完整版本: 换行符的问题?