python模块之os模块
目录
- os模块
os模块
# os模块主要是与操作系统打交道的
import os
-
创建单级目录(文件夹)
os.mkdir('你喜欢的老师精品合集') os.mkdir(r'你喜欢的老师合集\某某老师视频作品\2021年新作') # 无法创建多级目录 报错
-
创建多级目录
os.mkdirs os.makedirs(r'你喜欢的老师合集\某某老师视频作品\2021年新作') # 这样就可以创建多级目录
-
删除空目录(文件夹)
os.rmdir(r'你喜欢的老师精品合集') # 只可以删除单个的文件夹 os.removedirs(r'精品合计\xx老师合集\2021新作') # 这样才可以删除多级目录 os.removedirs(r'精品合计') # 这样也是不可以的
-
获取当前文件所在的路径(可以嵌套 则为上一层路径)
# 获取当前所在文件路径 BASE_DIR = os.path.dirname(__file__) ## 获取上一层文件路径 BASE_DIR = os.path.dirname(os.path.dirname(__file__)) print(BASE_DIR)
-
路径拼接(能够自动识别不同操作系统分隔符问题)
BASE_DIR = os.path.dirname(__file__) # movie_dir = os.path.join(BASE_DIR, 'os模块') 可在当前文件路径下拼接下一级路径
-
列举出指定路径下的文件名称(任意类型文件)
data_movie_list = os.listdir('E:/') print(data_movie_list) # 这样就可以列举出E盘下所有的文件名称
实用:
data_movie_list = os.listdir('E:\pythonProject1\模块2\精品合集')
while True:
for i, j in enumerate(data_movie_list):
print(i + 1, j)
choice = input('请选择你想要看的文件编号>>>:').strip()
if choice.isdigit():
choice = int(choice)
if choice in range(len(data_movie_list) + 1):
# 获取编号对应的文件名称
file_name = data_movie_list[choice - 1]
# 拼接文件的完整路径(******)
file_path = os.path.join(movie_dir, file_name) # 专门用于路径拼接 并且能够自动识别当前操作系统的路径分隔符
# 利用文件操作读写文件
with open(file_path, 'r', encoding='utf8') as f:
print(f.read())
7. 删除一个文件
```python
# 只能删除文件 不可删除文件夹
os.remove('a.txt')
-
修改文件名称
# 可以修改文件夹和文件 os.rename('修改前的名字','修改后的名字')
-
获取当前执行文件路径
import os print(os.getcwd()) # E:\pythonProject1\模块2\精品合集
-
切换路径
os.chdir('D:/') with open(r'a.txt','wb') as f: pass # 这样a.txt文件就直接创建到D盘
-
判断当前路径文件是否存在
os.path.exists('当前路径文件名字').print # True os.path.exists('不是当前路径文件名字').print # Flase
-
判断当前路径是否是文件
# 如果是文件返回True 如果不是文件类型返回Flase print(is.path.isfile('os模块.py')) # True print(is.path.isfile('精品合集')) # Flase
-
判断当前路径是否是文件夹
# 相反: 如果是文件返回False 如果不是文件类型返回True print(os.path.isdir('os模块.py')) # Flase print(os.path.isdir('精品合集')) # True
-
获取文件大小(字节数)
print(os.path.getsize(r'a.txt')) #一个英文字符一个字节 一个数字两个字节 一个汉字三个字节 1024bytes = 1kb