234十
2019-02-28 15:25
采纳率: 81.8%
浏览 1.8k
已采纳

python打开文件时,将其存为列表,为什么后面会加\n

a=open(r'C:\Users\v_pejiepeng\Desktop\pcc-master\chapter_10\hou.txt')
b=a.readlines()
a.close()
print (b)
这是代码,第一行打开txt文件,赋值给a,第二次把a的值以列表的形式赋值给b。第三次关闭打开的文件。第四个打印b。问题就出在b的值上了。b是一个文本文件,里面就是字符串,可在打印时为什么加了\n,\n不是表示换行吗,可我的txt文件里面没有换行啊就是一行写完所有的数据了。

a=r'C:\Users\v_pejiepeng\Desktop\pcc-master\chapter_10\hou.txt'
with open(a)as b:
c=b.readlines()
print (c)
为了确认是由于关闭文件的时候不对,所导致的,特使用with让python自己选择时机来关闭文件。但执行后两者的情况都是一样的。下面是代码的执行情况图。和我的文档图。我的问题主要有:
1.实际的txt文件就是一行数字,中间没有任何空格和换行,为什么在将其存为列表时,会加上\n
2.实际的txt文件就是一行数字,中间没有任何空格和换行,为什么打印字符串的时候,还是会在某些位置进行换行。python是如何来确定这个换行的位置,有什么规律吗?
试过
a=r'C:\Users\v_pejiepeng\Desktop\pcc-master\chapter_10\hou.txt'
with open(a)as b:
c=b.read()
c.strip()
print (c)

其结果是这样的

3.1415926535
8979323846
2643383279

和我实际文档的情况3.141592653589793238462643383279这样的情况根本不相符。
请高人不吝赐教,谢谢图片说明
图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2019-02-28 18:32
    已采纳

    python中print之后是默认换行的

    print(c, end="") 不换行

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 代码的灵魂是bug! 2019-02-28 19:17

    并没有出现你说的那种情况
    图片说明
    图片说明

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题