os模块
一、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项目\random模块.py4、判断文件或文件夹是否存在
若文件存在返回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())
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号