我需要一些python代码的帮助。我有一个搜索函数,它会搜索文件中的字符串,如果找到了就重新运行,如果找不到就给出错误对话框。同样在错误对话框关闭后,给用户输入正确值的权限。我没有完整地编写代码,但基本上/tmp/ARNE/final1文件如下所示:
siu43543, RTWAURT
siu34544, RYAKCCD
如果用户输入名称,例如siu43543,它将重新返回RTWAURT,或者给出错误对话框,并等待正确的值。所以我的函数需要给出错误对话框,或者如果找到了值。你知道吗
def search(VAR,VAR1):
global linese
global linese1
with open("/tmp/ARNE/final1", 'r') as file:
for line in file:
var=re.search(VAR, line)
if var:
linese = line.split(',')[0]
else:
tkMessageBox.showinfo("ERROR", "MISSING ELEMENT")
return Exception
var11=re.search(VAR1, line)
if var1:
linese1 = line.split(',')[1]
else:
tkMessageBox.showinfo("ERROR", "MISSING PARENT")
return Exception
return linese
return linese1
try:
search(line1,line1)
except Exception:
break
如果文件始终相同,则无需将打开文件命令放入函数中。python的强大功能是数组,因此我想提供将所有文件读入数组,然后在数组元素中搜索:
假设您的其余代码都是正确的,那么我认为行
linese = line.split(',')[0]
和linese1 = line.split(',')[1]
就是问题所在。当您需要return
文件/tmp/ARNE/final1
中,
后面的单词时,下面的操作应该完成。你知道吗在
var
的情况下:同样,对于
var1
:以下是示例:
现在使用将
split
放在逗号(,
)上的代码,取index 0
的值,即line.split(',')[0]
,我们有:这不是你想要的。你知道吗
现在使用我在任何空格字符上使用的
split
(默认行为),我们对index 1
的值感兴趣,即line.split()[1]
:正是你想要的
return
。你知道吗相关问题 更多 >
编程相关推荐