一、os模块
1、获取当前文件中的上一级目录
2、项目的根目录
3、路径的拼接
4、判断文件或文件夹是否存在
5、创建文件夹
6、删除文件夹
7、获取某个文件夹中所有文件的名字
8、enumerate
需求,让用户选择相应的文件
1、获取当前文件中的上一级目录
2、项目的根目录
3、路径的拼接
4、判断文件或文件夹是否存在
5、创建文件夹
6、删除文件夹
7、获取某个文件夹中所有文件的名字
8、enumerate
需求,让用户选择相应的文件
一、os模块
os与操作系统交互的模块
1、获取当前文件中的上一级目录
import os
BACK_DIR = os.path.dirname(__file__)
print(back_dir)
# ps: 路径相关的变量名用大写,做常量
2、项目的根目录
import os
BACK_DIR = os.path.dirname(__file__)
BASE_DIR = os.path.dirname(BACK_DIR)
print(BASE_DIR)
G:/python项目
3、路径的拼接
拼接文件的绝对路径
JOiN_PATH = os.path.join(BASE_DIR, 'random模块.py')
print(JOiN_PATH)
G:/python项目
andom模块.py
4、判断文件或文件夹是否存在
若文件存在返回True,若不存在返回False
# 判断文件或文件夹是否存在
print(os.path.exists(JOiN_PATH))
print(os.path.exists(BASE_DIR))
# 判断文件夹是否存在
os.path.isdir()
# 判断文件是否存在
os.path.isfile()
5、创建文件夹
DIR_PATH = os.path.join(BACK_DIR, '商品')
os.mkdir(DIR_PATH)
6、删除文件夹
只能删除空的文件夹
os.rmdir(DIR_PATH)
7、获取某个文件夹中所有文件的名字
list_dir = os.listdir('G:python项目')
print(list_dir)
['.idea', 'day10', 'day11', 'day12', 'day13', 'day14', 'day15', 'day4', 'day5', 'day6', 'day7', 'day8', 'day9']
8、enumerate
语法:enumerate(可迭代对象)
- 可迭代对象中若是字典,则取字典中所有的key
返回一个enumerate对象,相当于迭代器,对象有一个个的元组(索引,元素)
res = enumerate(list_dir)
print(res)
print(list(res)) # list(迭代器对象)--->返回的是列表
<enumerate object at 0x0000028DB3A43F98>
[(0, '.idea'), (1, 'day10'), (2, 'day11'), (3, 'day12'), (4, 'day13'), (5, 'day14'), (6, 'day15'), (7, 'day4'), (8, 'day5'), (9, 'day6'), (10, 'day7'), (11, 'day8'), (12, 'day9')]
需求,让用户选择相应的文件
import os
shopping_list = os.listdir(r'G:python项目day15商品目录')
num_list = enumerate(shopping_list)
while True:
for index, name in num_list:
print(f'页面编号:{index} 分类:{name}')
choice = input('请输入要查阅的页面编号:').strip()
if not choice.isdigit():
print('请输入编号!')
continue
choice = int(choice)
if choice not in range(len(shopping_list)):
print('请输入合格范围的编号')
continue
file_name = shopping_list[choice]
FILE_PATH = os.path.join(r'G:python项目day15商品目录', file_name)
with open(FILE_PATH, mode='r', encoding='UTF-8') as rf:
print(rf.read())