Python内置模块之os模块 sys模块
os模块
OS模块是python中最为常用的模块,主要用处理文件和目录
- 创建目录 关键词:mkdir 作用:基于执行文件目录下创建文件夹,只能创建单级目录
导入模块:
import os
代码用法:
os.mkdir(r'bin')
关键词:makedirs 作用:基于执行文件目录下创建文件夹,可以创建单级目录和多级目录
导入模块:
import os
代码用法:
os.makedirs(r'aaa\bbb\ccc')
- 删除目录 关键词:rmdir 作用:基于执行文件目录下删除删除文件,只能删除单级目录,且目录必须为空
导入模块:
import os
代码用法:
os.rmdir(r'bin')
关键词:removedirs 作用:基于执行文件目录下删除删除文件,可以删除单级和多级目录,且目录必须为空
导入模块:
import os
代码用法:
os.removedirs(r'aaa\bbb\ccc')
- 查看指定路径下目录内容 关键词:listdir 作用:传入一个路径可查看该路径下文件和文件夹组成的列表,默认查看执行文件目录
导入模块:
import os
代码用法:
print(os.listdir()) # 默认查看执行文件目录下内容
print(os.listdir(r'C:\\')) # 查看指定路径下目录内容
- 删除/重命名文件 关键词:rename 作用:传入两个参数,第一个参数填入需要重命名的文件路径,第二个参数填入需要修改的名称。 支持修改文件和文件夹类型,修改文件时需要填入文件后缀名
导入模块:
import os
代码用法:
os.rename(r'www.py', 'eee.py') # 修改文件类型
os.rename(r'aaa', 'bbb') # 修改文件夹类型
关键词:remove 作用:参数内传入需要删除文件的路径(支持一次性删除多个文件,逗号隔开),只能删除文件,且需要输入文件后缀名,不支持删除文件夹
导入模块:
import
代码用法:
os.remove(r'aaa.py') # 删除单位文件
os.remove(r'aaa.py', r'bbb.py', r'ccc.py') # 删除多个文件
- 获取/切换当前目录 关键词:getcwd 作用:可获取执行文件所在的目录
导入模块:
import os
代码用法:
print(os.getcwd) # D:/pytcharm项目文件路径/38/os模块/os
关键词:chdir 作用:切换执行文件所在的目录
导入模块:
import os
代码用法:
os. chdir(r'..') # # D:/pytcharm项目文件路径/38/os模块
- 动态获取项目根路径 关键词:abspath 作用:获取当前执行文件的绝对路径,须在参数内填入__ file __
导入模块:
import os
代码用法:
print(os.path.abspath(__file__)) # D:\pytcharm项目文件路径\38\os模块\os\aaa.py
关键词:dirname 作用:获取当前执行文件所在路径,需在参数内填入__ file __
导入模块:
import os
代码用法:
os.path.dirname(__file__)
- 拼接/切割路径 关键词:join 作用:可拼接参数内填入的路径
导入模块:
import os
代码用法:
path_dir = os.path.dirname(__file__) # 获取相对路径
path_dir_1 = 'aaa.py' # 定义文件名
path_dir_2 = os.path.join(path_dir,path_dir_1) # 拼接成绝对路径
print(os.path.isfile(path_dir_2)) # 成功拼接
sys模块
引言:sys模块是与python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。
- path
- 作用:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
导入模块:
import sys
代码用法:
print(os.path)
----------------------------------------------------------------------------
['D:\\pytcharm项目文件路径\\38\\os模块\\os',
'D:\\pytcharm项目文件路径\\38\\os模块',
'D:\\PyCharm 2021\\plugins\\python\\helpers\\pycharm_display',
'D:\\python\\Python38\\python38.zip',
'D:\\python\\Python38\\DLLs',
'D:\\python\\Python38\\lib',
'D:\\python\\Python38',
'D:\\python\\Python38\\lib\\site-packages',
'D:\\PyCharm 2021\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
- getrecursionlimit
- 获取python解释器最大递归深度,可通过setrecursionlimit()修改最大递归深度,在后方参数内修改
导入模块:
import sys
代码用法:
print(sys.getrecursionlimit()) # 1000
sys.setrecursionlimit(99999)
print(sys.getrecursionlimit()) # 99999
- version
- 可用来获取当前pycharm解释器版本
导入模块:
import sys
代码用法:
print(sys.version) # 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]
- argv
- 实现从程序外部向程序传递参数
导入模块:
import vrgv
代码用法:
res = sys.argv
if len(res) != 3:
print('执行命令缺少了用户名或密码')
else:
username = res[1]
password = res[2]
if username == 'jason' and password == '123':
print('jason您好 文件正常执行')
else:
print('您不是jason无权执行该文件')