Python笔记:os和sys

孤街浪徒 提交于 2019-12-17 04:33:50

os模块

  • os.path.driname(path):返回当前路径的上一级路径字符串。
  • os.path.basename(path):返回当前路径的目录名(文件夹名)或文件名(全称)。
  • os.path.split(path):返回一个路径以最后一个路径分割符分割后的元组。
  • os.path.splitext(file_name):返回文件名和其后缀组成的元组(后缀包含点号,比如“.txt”)。
  • os.path.isdir(path):判断一个路径是否是一个目录(文件夹)。
  • os.path.isfile(path):判断一个路径是否是一个文件。
  • os.path.join(path_str1, path_str2):将两个及以上的字符串使用当前系统的路径分隔符连接起来。
  • os.path.abspath(path):返回一个路径的绝对路径。
  • os.listdir(dir_path):以列表的形式返回一个目录(dir_path只能是目录,不能是文件名路径)下的所有文件(全称)和文件夹名称。
  • os.remove(file_path):删除指定文件。
  • os.rmdir(dir_path):删除一个空目录。
  • os.removedirs(dir_path):递归删除指定目录(空文件夹)。
  • os.path.exists(path):判断一个路径是否存在。
  • os.mkdir(dir_path):新建一个目录(文件夹)。
  • os.makedirs(dir_path):递归创建目录(文件夹)。
  • os.getcwd():获取当前工作目录。
  • os.chdir(path):改变当前工作目录为新的目录path。
  • os.system(command):调用dos命令并运行,例如:os.system('python D:\\test.py arg1 arg2'),即在DOS界面运行Python文件test.py,并传入参数“arg1”和“arg2”。
  • os._exit(status):以指定状态退出Python解释器,并不做任何处理,即运行完这条语句后就会直接退出了,后面的代码都不会执行了。退出Python解释器还有一个sys.exit()方法,详细见下面的sys模块。

注:Windows的路径分隔符为“\”,所以写路径字符串的时候一般都是要写成“\\”的,但是在Python中,无论什么平台,只需要写“/”就OK了,避免了不同平台的路径分隔符不同的问题。

>>> os.path.dirname('D:\\Games')
'D:\\'
>>> os.path.basename('D:\\Games\\9yin_632\\蜗牛整包\\0x0804.ini')
'0x0804.ini'
>>> os.path.splitext('0x0804.ini')
('0x0804', '.ini')
>>> os.path.abspath('Games')  # 随意写的字符串(相对路径),返回的路径字符串加上了当前的工作路径(绝对路径)
'C:\\Python27\\Games'

 


 sys模块

  • sys.argv:参数字符串列表(动态对象),第一个参数为当前程序主文件的绝对路径或空字符串,如果在命令提示符界面给Python文件传了参数(不同的参数以空格分隔,无论传入的时候写的是什么类型,最终都会转成字符串),可以在这里面获取(从第二个位置开始),比如命令提示符中运行“python main.py 111 aaa”,那sys.argv就有三个元素,第二个和第三个元素分别为“111”和“aaa”。
  • sys.path:搜索模块路径字符串列表(动态对象),搜索查找模块时会优先到这里面去搜索,第一个参数为主文件所在目录的路径或空字符串。
  • sys.modules:已经加载的模块信息字典,key为模块名称,value为模块对象,在使用__import__导入模块时,可以先判断下是否有同名模块已经在sys.modules中加载了,如果已经存在了,可以先删除或者不再导入了。
  • sys.getsizeof(object):获取一个对象的内存占用字节数大小。
  • sys.getdefaultencoding():返回Python默认的字符串编码格式。
  • sys.exit([status]):退出Python解释器,并抛出一个SystemExit异常,status默认为0,即“成功”,如果status是一个整数,则被用作一个系统退出状态,如果status是其他对象,则它将会被print并系统退出状态为1,即“失败”。所以使用这个方法的话,一般是需要进行异常处理的,运行完这条语句后如果有异常捕获和处理的,会去运行后面的异常处理代码的(而os._exit()方法则不会,它不会抛出异常)。
  • sys.excutable:代码运行时表示运行的解释器绝对路径,如C:\Python36\python.exe,在打包的程序中就是exe程序文件的绝对路径,这个是用来定位用户运行该程序的真实位置。

 

>>> sys.argv
['']
>>> sys.path
['', 'C:\\Python27\\Lib\\idlelib',...]  # 元素太多,省略了
>>> sys.modules
{'heapq': <module 'heapq' from 'C:\Python27\lib\heapq.pyc'>,...}  # 元素太多,省略了
>>> sys.getdefaultencoding()
'ascii'

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!