我有一个用 py2exe 转换为可执行文件的 Python 2.7 脚本。INPUT 数据是一个文本文件,其中分隔符需要在此函数之后有效:
# Check if delimeter is valid
def get_parse(filename, delimiters=['\t', ',', ' ', ':', ';', '-']):
with open(filename) as f:
f.next()
secondline = f.next()
for delimiter in delimiters:
if len(secondline.rstrip().split(delimiter)) >= 3:
return delimiter
raise Exception("couldn't find a delimiter that worked!")
当分隔符无效时(例如:一个点),我正在以 Python 优雅的方式寻找两种解决方案:
- 在未加载正确的 INPUT 数据之前,您不能将其传递给 OUTFILE
或者
- 脚本破坏了代码,显示错误,但窗口(什么时候是 *.exe)没有立即关闭,让用户没有解释
INPUT = raw_input("Input (*.txt): ")
while not os.path.exists(INPUT):
print IOError("No such file or directory: %s" % INPUT)
INPUT = raw_input("Input (*.txt): ")
try:
parse = get_parse(INPUT)
except Exception:
print ValueError("Delimiter type not valid")
break
OUTPUT = raw_input("Output (*.txt): ")
使用此解决方案(中断)我的 *.exe 文件的窗口关闭,使用户没有解释