代码之家  ›  专栏  ›  技术社区  ›  naiminp

python退出函数不工作

  •  0
  • naiminp  · 技术社区  · 7 年前

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

    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 Project\mCPPI\Reconciliation Tool\Reconciliation Tool Project\3. Python\BootStrap\BBG\2017-07-16\RAW_gilts.csv does not exist
    

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

    谢谢

    1 回复  |  直到 7 年前
        1
  •  5
  •   Charles Duffy    7 年前

    the documentation , 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)