首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Python 3读取rpt文件

无法使用Python 3读取rpt文件
EN

Stack Overflow用户
提问于 2017-07-20 17:45:54
回答 1查看 1.3K关注 0票数 0

我正在尝试使用python代码读取.rpt文件:

代码语言:javascript
复制
>>> with open(r'C:\Users\lenovo-pc\Desktop\training2.rpt','r',encoding = 'utf-8', errors = 'replace') as d:
...     count = 0
...     for i in d.readlines():
...         count = count + 1
...         print(i+"\n")
...
...


u

i

d

|

e

x

p

i

d

|

n

a

m

e

|

d

o

m

a

i

n

如上所述,我得到了以下结果。请告诉我如何使用python3读取.rpt文件。

EN

回答 1

Stack Overflow用户

发布于 2017-07-20 21:12:26

这确实是一种奇怪的行为。在不知道.rpt文件的格式的情况下,我不能很容易地重现这个错误,下面是一些可能出错的提示。我假设它看起来像这样:

代码语言:javascript
复制
uid|expid|name|domain
...

它可以用以下代码读取和打印:

代码语言:javascript
复制
with open(r'C:\Users\lenovo-pc\Desktop\training2.rpt','r',encoding = 'utf-8', errors = 'replace') as rfile:
    count = 0
    for line in rfile:
        count += 1
        print(line.strip())  # this removes white spaces, line breaks etc.

但是,问题似乎是您迭代了文件中第一行的字符串,而不是文件中的行。这将产生您所看到的模式,因为print()函数添加了一个换行符(除了您手动添加的换行符之外)。这样每行只有一个字符(后面跟着两个换行符)。

代码语言:javascript
复制
>>> for i in "foo":
...     print(i+"\n")
f

o

o

确保您没有在会话中重用先前的变量名称,并且不要覆盖文件对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45211117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档