如何仅打印或获取第二个结果

2024-05-14 01:02:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想得到第二个结果,num打印并使用它

savee1是一个.txt文件

def copycoordinates():


savee1 = filedialog.askopenfilename(initialdir="C:/USERS/" + username + "/documents/Euro Truck Simulator 2/profiles", title="Choose FIRST File", filetypes=[("sii files", "*.sii")])

savee2 = filedialog.askopenfilename(initialdir="C:/USERS/" + username + "/documents/Euro Truck Simulator 2/profiles", title="Choose SECOND File", filetypes=[("sii files", "*.sii")])

i1 = Label(frame5, text="Chosen FIRST File \n" + savee1)
i1.pack()

i2 = Label(frame5, text="Chosen SECOND File \n" + savee2)
i2.pack()

command=lambda:[save1()]
subprocess.Popen(["C:/SII_Decrypt.exe", savee1])

command=lambda:[save2()]
subprocess.Popen(["C:/SII_Decrypt.exe", savee2])

#time.sleep(1)

with open(savee1, "r+") as save1:

    for num, line in enumerate(save1, 1):
        if "truck_placement:" in line:
            print(num)
            

Tags: usernameusersnumdocumentsfilesimulatorsiieuro
3条回答

如果您的意思是想要第二场比赛,您可以尝试:

with open(savee1, "r+") as save1:

match = 0
for num, line in enumerate(save1, 1):
    if 'truck_placement:' in line:
        match += 1
        if match == 2
            print(num)
        else:
            continue

num将在第二次匹配时打印

当然有更好的方法,但这是最简单的解决方案之一

results = list()
with open(savee1, "r+") as save1:

for num, line in enumerate(save1, 1):
    if "truck_placement:" in line:
        print(num)
        results.append(num)
print(results[1]) #this is the value you want

不确定文本文件中有什么内容,但通常会以某种方式分隔(换行符、制表符分隔、逗号分隔)。您应该根据分离的内容进行拆分,然后您可以对结果列表编制索引。下面的代码假定所需的内容由新行分隔:

with open(save1, "r+") as infile:
    f=infile.read()

list_o_txt = f.split('\n')
print (list_o_txt[1])

如果您想创建一个只包含短语“truck_placement”的文本子列表

with open(save1,'r') as infile:
    f=infile.read()

list_o_txt = f.split('\n') # produces a list
filtered_list = [line for line in list_o_txt if 'truck_placement' in line] #filters the list
print (filtered_list[1]) #prints the second item

相关问题 更多 >