首页 > 编程语言 >python打包后,执行报错:NameError: name ‘exit‘ is not defined

python打包后,执行报错:NameError: name ‘exit‘ is not defined

时间:2023-06-06 18:34:38浏览次数:41  
标签:src name python sys exit file 报错 os

    try:
        file_name = os.path.basename(src)
        file_size = os.stat(src).st_size
    except Exception:
        print("源文件不存在:", src)
        exit()

  在ide使用中没有问题,但是封装成应用程序时就出现问题:

 

NameError: name 'exit' is not defined

百度了一圈后解决办法如下:将exit(),改为sys.exit()

import sys
 
   try:
        file_name = os.path.basename(src)
        file_size = os.stat(src).st_size
    except Exception:
        print("源文件不存在:", src)
        sys.exit()

Python 中的 exit() 和 sys.exit() 的区别

现在来了解下 Python 中的 exit() 和 sys.exit()

 

上面的意思是 exit 用于给交互式 Shell 返回值,而 sys.exit 是用于程序内部。

exit()/quit(), 抛出 SystemExit 异常. 一般在交互式 Shell 中退出时使用.
sys.exit(n) 退出程序引发 SystemExit 异常, 可以捕获异常执行些清理工作. n 默认值为 0, 表示正常退出. 其他都是非正常退出. 还可以 sys.exit(“sorry, goodbye!”); 一般主程序中使用此退出.
os._exit(n), 直接退出, 不抛异常, 不执行相关清理工作. 常用在子进程的退出.

 

标签:src,name,python,sys,exit,file,报错,os
From: https://www.cnblogs.com/yusilu-2653144/p/17461365.html

相关文章

  • Python 中 yeild 的用法
    本文包含以下四部分:yeild介绍yeild案例简单的例子对比yeild和常规函数复杂的例子说明yeild与普通函数的差异1.yeild介绍yield是Python的一个关键字,用于从一个函数中返回一个生成器(generator)。生成器是一种特殊类型的迭代器,它允许你延迟计算结果,这在处理大数据或......
  • CentOS 6.9 python3.10 numpy 安装使用 - gcc 升级
    踩坑记录程序写好了,使用了pandas,放在服务器上,运行报错:Originalerrorwas:/lib64/libgcc_s.so.1:version`GCC_4.8.0'notfound(requiredby/usr/local/lib/python3.10/site-packages/numpy/core/../../numpy.libs/libgfortran-040039e1.so.5.0.0)可以看到是导入numpy......
  • Invalid character found in method name. HTTP method names must be tokens
    Gayhub上下载了一个别人的项目跑着玩,启动成功了,但是请求controller的时候,出现了这种错误:2018-08-2517:57:26,673-ErrorparsingHTTPrequestheaderNote:furtheroccurrencesofHTTPheaderparsingerrorswillbeloggedatDEBUGlevel.java.lang.IllegalArgumentEx......
  • fluent读取网格文件报错:eof inside list是什么意思,怎么解决?
    做好二维网格之后,导入fluent中网格文件,发现报错:eofinsidelisteofinsidelist这个一般是指格式出错,应该是网格中的一些问题,可以检查一遍网格,尤其是对于边界条件的定义方面,我检查了一遍发现是网格边界在命名的时候出现了非法字符:;,重新修改名称之后就没有问题了。......
  • Python Django Xadmin 的使用
    笔者Python版本为3.10.6,Django版本为4.2.2本项目代码已开源,可到GitHub仓库中查看本项目用到的xadmin、DjangoUeditor文件夹笔者已经按照Python3.10版本进行了修改,点击链接即可下载。但如果你使用的Python版本较低,可能会因此出现一些BUG,请到问题汇总查看,如果......
  • python切片详解
    索引的一般方式一个完整的切片是包含三个参数和两个冒号":",用于分隔三个参数(start_index、end_index、step)。当只有一个“:”时,默认第三个参数step=1;当一个“:”也没有时,start_index=end_index,表示切取start_index指定的那个元素。切片操作的基本表达式:object[start......
  • git报错would clobber existing tag
    使用vscode拉取代码出现报错:解决问题如下:1.在terminal直接输入gitpull完成对代码的拉取,代码虽然拉取了,但是vscode的git工具还是不能用2.在terminal输入gitfetch--tags-f,先完成对本地代码tag的强制更新。3.再使用vscode的git工具拉取代码 ......
  • 【理论积累】Python中的Pandas库【一】
    Pandas库介绍Pandas是一个用于数据分析的Python第三方库,能够处理和分析不同格式的数据,例如:CSV、Excel、SQL数据库等。Pandas提供了两种数据结构,分别为Series和DataFrame,灵活而方便地进行数据分析和操作。以下是Pandas的核心概念和功能:Series:类似于NumPy的ndarra......
  • Python 多进程之间共享变量
    原文地址:https://blog.51cto.com/alwaysbeta/5162851Python多线程之间共享变量很简单,直接定义全局global变量即可。而多进程之间是相互独立的执行单元,这种方法就不可行了。不过Python标准库已经给我们提供了这样的能力,使用起来也很简单。但要分两种情况来看,一种是Process......
  • widnows2012 r2上安装iis 报错,提示找不到原文件位置的解决办法。
    服务器win2012安装.NetFramework3.5失败的解决方法安装一个或多个角色、角色服务或功能失败。找不到源文件。请在尝试在新的“添加角色和功能”向导会话中安装角色、角色服务或功能,然后在向导的“确认”页中单击“指定备用源路径”以指定安装所需的源文件的有效位置。目标服......