您现在的位置是:首页 >技术杂谈 >python os模块网站首页技术杂谈
python os模块
简介python os模块
判断文件是否存在:
os.path.exits(path) ;
新创建一个文件夹:
os.makedirs(path)
删除文件夹:(删除文件和删除文件夹是不一样的)
import shutil
shutil.rmtree(path)
删除文件:
import os
os.remove(path)
判断是否是文件夹
os.path.isdir(path)
订票系统:
import os
import datetime
NEW_PATH = os.path.join('db')
def history(path):
# 历史订单
# 如果文件不存在,输出无历史记录
if not os.path.exists(path):
print("无历史记录")
return
# 如果文件存在,逐行读取并输出
else:
with open(path, mode="r", encoding="utf-8") as my_file:
for i in my_file:
i.strip()
print(i)
def booking(path):
# 预订功能
location = input("请输入地区:")
num = input("请输入预定数量:")
now_time = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M")
line = f"{location},{num},{now_time}
"
with open(path, mode="a", encoding="utf-8") as my_file:
my_file.write(line)
def run():
# 1.检查文件夹是否存在
res = os.path.exists(NEW_PATH)
if not res:
os.makedirs(NEW_PATH)
# 2.输入用户姓名,判断是新用户还是老用户
name = input("请输入姓名:")+".txt"
name_path = os.path.join(NEW_PATH, "name")
if os.path.exists(name_path):
print("欢迎您,老用户")
else:
print("欢迎你,新用户")
# 3.功能的选择
fun_dict = {"1": history, "2": booking}
while True:
print("1.历史订单,2.预定,3,退出")
result = input(">>>")
if result == "3":
print("您已退出")
return
elif result == "2":
fun_dict[result](name_path)
elif result == "1":
fun_dict[result](name_path)
else:
print("选择错误,请重新输入")
run()
os.listdir:(查看某个目录下的所有文件和文件夹,并返回一个列表)只能读取一级目录
os.listdir(path)
import os
# 查看某个目录下的所有的文件和文件夹(一级目录)
for item in os.listdir("/Users/wupeiqi/Documents/视频教程/路飞Python/mp4/开篇"):
print(item)
os.walk:能读取全部目录,会自动进入下一个文件夹读取内容
os.walk(path)
import os
# 查看某个目录下的所有的文件和文件夹
for in_path, folder_list, name_list in os.walk("/Users/wupeiqi/Documents/视频教程/路飞Python/mp4/开篇"):
for name in name_list:
abs_path = os.path.join(in_path, name)
print(abs_path)
```
案例:找到某个目录下的所有 含有某个关键字 的文件(文件路径)
```python
import os
target_folder_path = "/Users/wupeiqi/Documents/视频教程/路飞Python/mp4"
key = "练习"
# 查看某个目录下的所有的文件和文件夹
for in_path, folder_list, name_list in os.walk(target_folder_path):
for name in name_list:
if key in name:
abs_path = os.path.join(in_path, name)
print(abs_path)
```
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。