零基础入门学习Python:文件为何无法按行打印了?
# 编写一个程序,接受用户的输入并保存为新的文件后打印每行file_name = input('请输入文件名:')
content = input('请输入内容:')
new_file = open(file_name,'w')
new_file.write(content)
new_file.close()
f = open(file_name)
for each_line in f:
print(each_line)
f.close()
文件名无所谓都可以,我的输入内容是:
"小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友了!"
但是运行程序后不能按行打印,结果如下:
的文件.py ===========
请输入文件名:something.txt
请输入内容:"小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友了!"
"小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友了!"
但是如果单独运行却可以打印如下内容,实现了换行:
>>> print("小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友了!")
小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦??
小客服:我跟她说你有女朋友了!
请问高手这是什么原因呢?谢谢
本帖最后由 heidern0612 于 2020-12-12 09:40 编辑
这个跟写入文件有关系。关系到这个可以百度一下:“python写入txt如何换行”
默认写入的都是字符,python会自动把所有的字符都打印出来。
跟你单独print打印的效果是不一样。
因为你只写入了单行,所以python会自动把你写入的东西都打印出来,不区别特殊字符,类似加了r原始模式。
你如果要写入多行的话,可以参考win系统的\r\n模式。
按照目前我理解的python的样式标准,应该是没办法在写入模式中单行区分\n这种的(也不乏论坛大神各类技巧),只可能说在多行输入中做到txt中自动换行。 heidern0612 发表于 2020-12-12 09:37
这个跟写入文件有关系。关系到这个可以百度一下:“python写入txt如何换行”
默认写入的都是字符,pytho ...
谢谢您的解答,我后来还是用小甲鱼老师的循环语句,一句句输入了。
页:
[1]