Chloeel 发表于 2020-5-24 23:16:06

小白求助

name = input("文件名:")
print('请输入你想要保存的内容:')
f = open(name,"w")

while True:
    a = input()
    if a != ':w':
      f.write('%a \n' % a)   
    else:
      break

f.close()



求助大佬,这个输入文件名:nice.txt
为什么文件打开中文显示不了,是' xxxxx'貌似是编码

Twilight6 发表于 2020-5-24 23:18:56

编码错误open里面加上encoding = 'utf-8'
name = input("文件名:")
print('请输入你想要保存的内容:')
f = open(name,"w",encoding='utf-8')

while True:
    a = input()
    if a != ':w':
      f.write('%a \n' % a)   
    else:
      break

f.close()

冬雪雪冬 发表于 2020-5-24 23:20:19

把f.write('%a \n' % a)的%a 改成 %s

Twilight6 发表于 2020-5-24 23:28:47

冬雪雪冬 发表于 2020-5-24 23:20
把f.write('%a \n' % a)的%a 改成 %s

{:10_266:}这么细节的嘛我居然没发现一看到编码第一时间都是想utf-8 了

冬雪雪冬 发表于 2020-5-24 23:31:05

Twilight6 发表于 2020-5-24 23:28
这么细节的嘛我居然没发现一看到编码第一时间都是想utf-8 了

嗯,一般读文件时有问题多是编码的事,而写文件则更可能是其他原因。

Twilight6 发表于 2020-5-25 00:20:51

冬雪雪冬 发表于 2020-5-24 23:31
嗯,一般读文件时有问题多是编码的事,而写文件则更可能是其他原因。

学习了

xiaosi4081 发表于 2020-5-25 07:36:15

本帖最后由 xiaosi4081 于 2020-5-25 07:37 编辑

name = input("文件名:")
print('请输入你想要保存的内容:')
f = open(name,"w")

while True:
    a = input()
    if a != ':w':
      f.write('%s\n' % a)   
    else:
      break

f.close()

求最佳{:10_254:}

永恒的蓝色梦想 发表于 2020-5-25 07:39:52

我觉得写成 f.write(a+'\n') 会更好?

Twilight6 发表于 2020-5-25 16:36:24

emmm怎么给我最佳了应该给 冬雪雪冬 吧....我觉得他是对的

Chloeel 发表于 2020-5-25 16:37:23

Twilight6 发表于 2020-5-24 23:18
编码错误open里面加上encoding = 'utf-8'

还是不行

结果出来还是字符串

'\u597d\u7684'   这种哭辽T_T

Twilight6 发表于 2020-5-25 16:39:30

Chloeel 发表于 2020-5-25 16:37
还是不行

结果出来还是字符串


f.write('%s \n' % a)

Chloeel 发表于 2020-5-25 17:08:49

冬雪雪冬 发表于 2020-5-24 23:20
把f.write('%a \n' % a)的%a 改成 %s

aaaaaa!!!
我要嫁给你!!!
我终于知道哪错了T_T
么么扎(*  ̄3)(ε ̄ *)
页: [1]
查看完整版本: 小白求助