python语法基础-内置模块-os,sys

发布时间 2023-03-28 07:08:40作者: 技术改变命运Andy

os模块

  • 这是和操作系统打交道的,
import os
# print(os.getcwd())  # 获取当前文件的路径
# 新建文件夹:
# os.mkdir('12')  # 在当前目录创建文件夹
# os.mkdir('11/11')  # 如果有父类目录,就会创建成功,否则就会失败,
# os.makedirs('1/2/3')  # 可以创建多层文件夹,
# 删除文件夹
# os.rmdir('1/2/3')  # 这是删除目录3,# 删除的方法不常用,最好不要随便删除,会找不到的,
# os.removedirs('1/2')  # 目录下为空就会全部删除包括这整个路径上的所有的文件夹,文件下有文件就不会删除,


print(os.path.abspath(__file__))  # 获取当前文件的绝对路径,包含文件名
print(os.path.dirname(os.path.abspath(__file__)))  # 获取当前文件父级路径
print(os.path.basename(os.path.abspath(__file__)))  # 只有包含文件名
print(os.path.exists(r'D:\AI\python_workspace\python-base'))  # 如果这个路径存在就返回True,这个有用,如果没有就可以创建了,
# r 是取消转译
print(os.path.isdir(r'D:\AI\python_workspace\python-base'))  # 判断是文件夹
print(os.path.isfile(r'D:\AI\python_workspace\python-base'))  # 判断是文件
print(os.path.join(r'D:\AI\python_workspace\python-base','Helloworld.py'))  # 自动拼接成为一个路径,这个可以根据不同的平台自动拼

sys模块

  • 这个是和python解释器打交道的,
import sys
print(sys.version)  # 取Python解释程序的版本信息
print(sys.platform)  # 返回操作系统平台名称
print(sys.path)  # 返回模块的搜索路径
print(sys.argv)  # 返回一个列表,列表的第一项是
print('*'*6)
sys.exit()  # 退出程序,
print('-'*6)  # 下面的是不会打印执行的,

应用场景:【Python脚本】项目文件目录下的加载路径

解决Python脚本,import报错的问题,

先上示例:

import os
import sys
__dir__ = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, __dir__)

解释一下:

1.os.path.abspath():

os.path.abspath(__file__) 功能: 获取当前脚本的完整路径

注意:os.path.abspath(file)返回的是脚本的绝对路径,即setting.py文件的绝对路径。

2.os.path.dirname():

os.path.dirname(path)  功能:去掉文件名,返回目录

注意:os.path.dirname(path) 返回path的父路径;可嵌套使用,os.path.dirname(os.path.dirname(path) ) 返回父路径的父路径。

3.os.path.basename(file):

os.path.basename(__file__)  功能:返回脚本的文件名称

4.sys.path.insert(0, “/path”)

sys.path.insert(0, __dir__)

可以选择用sys.path.insert(0,‘/path’),这样新添加的目录会优先于其他目录被import检查