hao9i 发表于 2021-7-20 22:54:47

字符串用replace("\n","")不能把换行符\n去掉

如题:读取了一个txt文件,其内容如下:
name=Tom
age=28
sex=man

在python中,使用readlines方法获取读取到的内容,想把它转换为字典数据,但是在取消\n时,无论如何也取消不了,请问怎么回事呢?
with open("D:/1.txt","r") as f:
    info=f.readlines()
    print(info)
    info = str(info).strip().replace("[", "").replace("]", "").replace("'", "")
    print(info)
    info = info.replace("\n", "")
    print(info)

另外:不知道本地图片如何上传,上面只能从相册选取图片,但是也不知道如何添加图片到相册{:5_94:}

hao9i 发表于 2021-7-20 22:55:49

相册功能试了一下,原来是没有权限!

深谙流年 发表于 2021-7-20 23:00:16

取消换行符的话试试在print里面最后面end=''
,看行不行

大马强 发表于 2021-7-20 23:03:14

试试这个replace('\n', ' ').replace('\r', ' ')

hao9i 发表于 2021-7-20 23:24:20

大马强 发表于 2021-7-20 23:03
试试这个replace('\n', ' ').replace('\r', ' ')

还是不行

hao9i 发表于 2021-7-20 23:25:09

深谙流年 发表于 2021-7-20 23:00
取消换行符的话试试在print里面最后面end=''
,看行不行

是改变变量的值,不是输出。。。。。。

hao9i 发表于 2021-7-20 23:26:06

这里改了一下,像这样就可以了
info.replace(r"\n", "")

阿奇_o 发表于 2021-7-21 01:32:53

\n, \t, \\是特殊的 转义字符呀。。
>>> with open("E:\\test\\t3.txt","r", encoding='utf-8') as f:
          info=f.readlines()
          print(info)
          info = str(info).strip().replace("[", "").replace("]", "").replace("'", "")
          print(info)
          info = info.replace("\\n", "")
          print(info)

          
['name=Tom\n', 'age=28\n', 'sex=man']
name=Tom\n, age=28\n, sex=man
name=Tom, age=28, sex=man
>>>

# 不过,为何不用 str.join(),
>>> with open('t3.txt', 'r', encoding='utf-8') as f:
        info = f.readlines()# 是列表!
        print(info)
        print(''.join(info).replace("\\n", '--'))

['name=Tom\n', 'age=28\n', 'sex=man']
name=Tom--age=28--sex=man

hao9i 发表于 2021-7-27 19:51:27

阿奇_o 发表于 2021-7-21 01:32
\n, \t, \\是特殊的 转义字符呀。。

用str.join()确实方便,先没想到有用str.jion()

suchocolate 发表于 2021-7-28 10:43:20

result = dict()
with open('D:/1.txt') as f:
    for row in f.readlines():
      k, v = row.replace('\n', '').split('=')
      result = v
print(result)
页: [1]
查看完整版本: 字符串用replace("\n","")不能把换行符\n去掉