【问题标题】:Split text file into lines, Python将文本文件拆分为行,Python
【发布时间】:2025-12-11 10:40:01
【问题描述】:

我想在 python 中拆分一个文本文件,使用以下代码:

inputfile = open(sys.argv[1]).read()   
for line in inputfile.strip().split("\n"):
    print line

问题是,它只读取了前 12 行!!文件超过一万行!

可能的原因是什么!

谢谢,

【问题讨论】:

  • 您应该使用返回行列表的open(sys.argv[1]).readlines()
  • be lazy with open(sys.argv[1]) as f: for line in f: print(line) 当然是添加缩进
  • @Arount 更好,直接遍历文件处理程序,它会懒惰地遍历行。
  • 是否有两个文件,即inputfilelinksfile

标签: python python-2.7 split strip


【解决方案1】:
with open(sys.argv[1]) as inputfile:
    for line in inputfile:
        print(line)

使用 readlines() 会自动生成列表,无需通过 "\n" 读取。

【讨论】:

  • @noor,你有什么错误吗?提示卡住还是正常结束执行?
  • 不,我评论了文件中的所有内容,直到这部分正常运行
  • @noor,我想知道阅读15行代码后的行为!
  • 没什么,我试着把这段代码放在一个单独的python文件中(即你写的唯一一段代码)
【解决方案2】:

试试这个:

text = r"C:\Users\Desktop\Test\Text.txt"

oFile = open(text, 'r')
line = oFile.readline()[:-1]
while line:
    splitLine = line.split(' ')
    print splitLine
    line = oFile.readline()[:-1]
oFile.close()

我在工作中使用这种风格来遍历巨大的文本文件

【讨论】: