我尝试从文件中提取指定字段的值。
例如,文件thing.txt具有以下内容
苹果汁熊盒
蜜蜂蛇水空气
速度高度长度重量
当我输入:python program.py 4 thing.txt
输出应为
框
空气
重量
import sys
WordInd = sys.argv[1]
WordList=[]
NList=[]
with open(sys.argv[2])as my_file:
for line in my_file:
WordList=line.split(' ',int(WordInd))
NList.append(WordList[int(WordInd)-1])
i = 0
while i<len(NList):
print(NList[i])
i+=1
该程序可以正常使用python program.py 1 thing.txt到python program.py 4 thing.txt
然而,当我试图提取每一行的最后一个单词时,每个输出之间有额外的空格。例如:
框
(额外空间)
空气
(额外空间)
重量(额外空间)(额外空间)
答案 0 :(得分:0)
试试这个:
import sys
WordInd = sys.argv[1]
WordList=[]
NList=[]
with open(sys.argv[2])as my_file:
for line in my_file:
line=line[:-1] #to remove "\n" from end of the line
WordList=line.split(' ',int(WordInd))
NList.append(WordList[int(WordInd)-1])
i = 0
while i<len(NList):
print(NList[i])
i+=1
答案 1 :(得分:0)
如果您只想要每行的最后一个单词,您也可以尝试:
print([line.strip().split()[-1] for line in open('file.txt','r') if line!='\n'])
输出:
['box', 'air', 'weight']