python之sys模块与os模块的常用基础操作

sys模块:处理系统相关功能

  1. sys.argv[第几个参数] :获取命令行(cmd)给这个程序的参数(如果中括号内为0,则返回文件本身)
  2. sys.version : 查看目前系统(python)的版本
  3. sys.exit():

os._exit() vs sys.exit()

概述

python的程序有两中退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。
os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。
sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。
举例说明
在这里插入图片描述
print(‘os.exit’)#不打印直接退出了
在这里插入图片描述
区别

综上,sys.exit()的退出比较优雅,调用后会引发SystemExit异常,可以捕获此异常做清理工作。os._exit()直接将python解释器退出,余下的语句不会执行。

一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()
一般来说os._exit() 用于在线程中退出
sys.exit() 用于在主线程中退出。

exit(0)和exit(1)
exit(0):无错误退出
exit(1):有错误退出
退出代码是告诉解释器的(或操作系统)

在很多类型的操作系统里,exit(0) 可以中断某个程序,而其中的数字参数则用来表示程序是否是碰到错误而中断。exit(1) 表示发生了错误进行退出,而 exit(0) 则表示程序是正常退出的,退出代码是告诉解释器的(或操作系统)。这和我们学的布尔逻辑 0==False 正好相反,不过你可以用不一样的数字表示不同的错误结果。比如你可以用exit(100) 来表示另一种和 exit(2)或 exit(1) 不同的错误。(参数为0一定会退出,参数为其他时,必须要引发相应错误才能退出)

  1. sys.executable : 返回当前运行文件的地址
  2. sys.getwindowsversion():获取Windows的版本
  3. sys.modules.keys():返回当前已导入、加载的模块

os模块:

  1. os.name : 获取操作系统平台
  2. os.getcwd():获取当前工作目录
  3. os.listdir(某个目录):获取某个目录下所有的文件名(只会获取一层,若有文件夹也不会再深入挖掘其中的文件,直接获取文件夹名)
  4. os.system(“一个shell命令”):例如“calc”,是调用计算器
  5. os.remove(“目录和文件”):删除某个目录下某个文件
  6. os.path.isfile(“提供一个文件夹或者文件”):判断是否是文件
    os.path.isdir():判断是否是文件夹
  7. os.path.split(提供一个路径):把一个路径拆分为 目录+文件名
    特别注意:比如C:/python3,会被拆分为“C:/”(文件夹目录) “python3”(文件名)
    若是C:/python3/,则会被拆分为两个文件夹目录,加一个空文件名“”
发布了28 篇原创文章 · 获赞 74 · 访问量 1663

猜你喜欢

转载自blog.csdn.net/CxsGhost/article/details/103330194