Python 退出功能不起作用



我正在其中一个脚本中使用以下检查:

if os.path.exists(FolderPath) == False:
print FolderPath, 'Path does not exist, ending script.'
quit()
if os.path.isfile(os.path.join(FolderPath,GILTS)) == False:
print os.path.join(FolderPath,GILTS), ' file does not exist, ending script.'
quit()    
df_gilts = pd.read_csv(os.path.join(FolderPath,GILTS))

足够多,当路径/文件不存在时,我获得以下打印:

IOError: File G:On-shoring ProjectmCPPIReconciliation ToolReconciliation Tool Project3. PythonBootStrapBBG2017-07-16RAW_gilts.csv does not exist

告诉我即使我添加了 quit((,它仍在继续使用脚本。谁能告诉我为什么?

谢谢

根据文档,quit()(与site模块添加的其他函数一样(仅用于交互式使用。

因此,解决方案是双重的:

  • 检查是否os.path.exists(os.path.join(FolderPath, GILTS)),而不仅仅是os.path.exists(FolderPath),以确保实际到达尝试退出解释器的代码。

  • 使用sys.exit(1)(当然,在模块标头中import sys之后(停止解释器,退出状态指示脚本错误。

也就是说,您可以考虑只使用异常处理:

from __future__ import print_function
path = os.path.join(FolderPath, GILTS)
try:
df_gilts = pd.read_csv(path)
except IOError:
print('I/O error reading CSV at %s' % (path,), file=sys.stderr)
sys.exit(1)

相关内容

  • 没有找到相关文章

最新更新