python 中的 enurmate 读取文件 问题

self.official_account = os.getcwd() + "/" + "official_account.rtf"
for index,content in enumerate(open(self.official_account,'r')):

        print(content,end="")

clipboard.png

为啥这里会换行呢?不是应该
i love you
ich liebe dich
heissen dank
???

因为我想每次读取一行,但是感觉好像是一个字符串一读?

clipboard.png

阅读 2.8k
2 个回答

是你的 rtf 文件里面本来就是一个字一行吧。

In [6]: 
   ...: for i, l in enumerate(open('haha.txt')):
   ...:     print(l, end="")
   ...: 
hello world
miao
haha

我测试下并没有问题

我看你的需求不要列表的下标,不需要使用enumerate,直接用for循环就好。前者比后者效率低。

>>> import timeit
>>> timeit.timeit('for i in xrange(100): a[i]', 'a = list(xrange(100))')
7.2920000553131104
>>> timeit.timeit('for i, o in enumerate(a): o', 'a = list(xrange(100))')
10.359999895095825
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题