常用模块之
OS与操作系统交互的模块
常用方法
import os
FILE_PATH = os.path.dirname(__file__)
print(FILE_PATH) #获取当前文件的上一级目录
print(os.path.dirname(FILE_PATH)) #获取当前文件的根目录
print(os.path.dirname('E:python正式项目day15 常用模块 ime.py'))
#结果为
E:/python正式项目/day15 常用模块
E:/python正式项目
E:python正式项目
#路径的拼接:拼接文件跟'绝对路径’
TEST_PATH1 = os.path.join(FILE_PATH, '胡晨阳的写真集.txt')
print(TEST_PATH1)
#结果为
E:/python正式项目/day15 常用模块胡晨阳的写真集.txt
#判断“文件/文件夹”是否存在:若文件存在返回
print(os.path.exists(TEST_PATH1))
print(os.path.exists(FILE_PATH))
#结果为
True
True
# 判断“文件夹”是否存在
# print(os.path.isdir(TEST_PATH1))
# print(os.patir.isdir(FILE_PATH))
#结果为
False
True
#创建文件夹
NEW_PATH = os.path.join(FILE_PATH, '卢澄庆的写真集.txt')
os.mkdir(NEW_PATH)
#删除文件夹(只能删除空文件夹)
os.rmdir(NEW_PATH)
#获取某个文件夹中所有文件的名字(需跟绝对路径)
boy_list = os.listdir(r'E:python正式项目day15 常用模块oy写真')
print(boy_list)
#结果为
['卢澄庆写真集.txt', '胡晨阳的写真集.txt', '郭兴隆写真集.txt']
# enumerate(可迭代对象) ---> 得到一个对象,对象有一个个的元组(索引, 元素)
res = enumerate(boy_list)
print(res)
print(list(res))
#结果为
<enumerate object at 0x00000239645339A8>
[(0, '卢澄庆写真集.txt'), (1, '胡晨阳的写真集.txt'), (2, '郭兴隆写真集.txt')]
#练习,让用户选择文件
while True:
for number, name in enumerate(boy_list):
print(f'编号:{number} 文件名:{name}')
choice = input(
'请选择想看的boy作品-->(今日头条:胡晨阳写真)编号:').strip()
if not choice.isdigit():
print('必须输入数字')
continue
choice = int(choice)
if choice not in range(len(boy_list)):
print('编码范围错误!')
continue
file_name = boy_list[choice]
boy_path = os.path.join(
r'E:python正式项目day15 常用模块oy写真', file_name)
print(boy_path)
with open(boy_path, 'r', encoding='utf-8')as f:
print(f.read())