我必须从命令行读取文本文件中的数据。在每一行中读取并不困难,但我需要一种方法来分隔每一行。
该文件包含以下几百行:
字符串(有时超过1个字)
整数
字符串(有时超过1个字)
整数
所以例如输入可能有:
Hello 5 Sample String 10
我在每行读取的当前实现如下...如何修改它以将其分成我想要的?我试过分割线,但我总是这样只得到第一个字符串的一个字符,没有整数或第二个字符串的任何部分。
with open(sys.argv[1],"r") as f:
for line in f:
print(line)
所需的输出是:
Hello
5
Sample String
10
等文件中的每一行。文件中可能有数千行。我只需将每个部分分开,以便我可以单独使用它们。
答案 0 :(得分:0)
程序无法以您想要的方式神奇地分割线条。您需要一次读取一行并根据格式自行解析。
由于有两个整数和一个不确定数量的(我假设的)空格分隔的单词,您可以使用正则表达式来查找整数,然后将它们用作分隔符来分割该行。