【问题标题】:file reading in python usnig different methods使用不同方法在python中读取文件
【发布时间】:2020-05-10 21:43:56
【问题描述】:
# open file in read mode
f=open(text_file,'r')
# iterate over the file object 
for line in f.read():
    print(line)
# close the file
f.close()

文件内容为“恭喜您成功打开文件”!当我尝试运行此代码时,输​​出格式如下:

c(换行符)o(换行符)n(换行符)g.......

......因为我使用了read(),所以每个字符都单独打印在新行上!但是使用 readline 它可以在一行中给出答案!为什么会这样?

【问题讨论】:

标签: python-3.x file


【解决方案1】:

r.read() 返回一个字符串将所有字符(完整的文件内容)。

迭代一个字符串会逐个字符地迭代它。

使用

for line in f:   # no read()

而不是逐行迭代。

【讨论】:

    【解决方案2】:

    f.read() 以字符串形式返回整个文件。 for i in 迭代一些东西。对于字符串,它会遍历其字符。

    对于readline(),它不应该打印该行。它会读取文件的第一行,然后逐个字符地打印出来,比如read。您是否可能使用了readlines(),它将行作为列表返回。

    还有一件事:with 接受一个“可关闭”对象并在作用域结束时自动关闭它。你可以迭代一个文件对象。所以,你的代码可以这样改进:

    with open(text_file, 'r') as f:
        for i in f:
            print(i)
    

    【讨论】:

      猜你喜欢
      • 2022-07-27
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 2016-07-10
      相关资源
      最近更新 更多