【发布时间】:2021-09-01 13:08:07
【问题描述】:
我在 python 上做一个项目。 我想从文本文件中返回名称列表。 我从一个我知道的名字开始。 我的文本文件是这样的:
ALPHA;n10;Output
ALPHA;n11;Input
ALPHA;n12;Input
BETA;n10;Input
BETA;n14;Input
CHARLIE;n10;Input
CHARLIE;n13;Output
DELTA;n13;Output
DELTA;n12;Input
假设我从名称 ALPHA 开始,我知道它是一个输出。 所以我必须搜索这个名字的号码链接,即 n10。 我想返回输入中数字 n10 的所有名称。 所以最后我想要列表 ["BETA", "CHARLIE"]
目前我编写了以下函数:
file = "path of the texte file"
name = "ALPHA"
liste_new_name = []
def search_new_name(liste):
file_txt = open(file, "r")
contenu = file_txt.readline()
file_txt.close()
if contenu.split(";")[0] == name and ";Output" in contenu:
num = contenu.split(";")[1]
if num in contenu and ";Input" in contenu:
liste.append(contenu.split(";")[0]
return liste
print(liste)
else:
print("No new name found")
else:
print("No num found")
search_new_name(liste_new_name)
我的问题是我“找不到编号”,但就像我知道的示例一样,我应该有一个列表。
【问题讨论】:
-
return liste立即退出函数。 -
在搜索完整个文件之前不要
print("No num found")。 -
您应该阅读文件中的所有行并遍历它们,检查每一行。您也可以考虑使用 CSV 解析器。
-
兄弟检查
contenu值兄弟你会得到答案 -
file_txt = open(file, "r") contenu = file_txt.readline() file_txt.close()只读取文件的第一行
标签: python list text-files