直接放Python3的代码例子
import os
path = os.path.join("example", "root", "example.txt")
print(path)
# 获取上级目录
folder_path = os.path.dirname(path)
print(folder_path)
# 获取根目录
base_dir = os.path.dirname(os.path.abspath(__file__))
print(base_dir)
# 判断路径是否存在
v1 = os.path.exists("是否存在目标文件")
print(v1)
# 创建文件夹
os.makedirs("xx")
# 判断是否是文件夹
v1 = os.path.isdir(file_path)
print(v1)
# 删除文件
os.remove(file_path)
# 删除文件夹
import shutil
dirPath = os.path.join(base_dir, 'db')
shutil.rmtree(dirPath)
# 列举所有的文件路径 (一级目录)
db_path = os.path.join(base_dir, 'example')
for name in os.listdir(db_path):
print(name)
# 列举所有的文件路径 (多级目录)
for in_path, folder_list, name_list in os.walk(db_path):
for name in name_list:
abs_path = os.path.join(in_path, name)
print(abs_path)
用os来做一个例子
import os
from datetime import datetime
baseDir = os.path.dirname(os.path.abspath(__file__))
username = input("用户名:")
password = input("密码:")
line = "用户名:{}|密码:{}\n".format(username, password)
dateTime = datetime.now().strftime("%Y-%m")
folderPath = os.path.join(baseDir, 'db', dateTime)
if not os.path.exists(folderPath):
os.makedirs(folderPath)
filePath = os.path.join(folderPath, 'register.txt')
with open(filePath, mode='a', encoding='utf-8') as f:
f.write(line)
运行的结果,会在db文件夹下的datetime文件夹里创建一个register.txt文件,该文件里含有注册信息。
订菜系统demo
import os
from datetime import datetime
BASE_DIRECTORY = os.path.dirname(os.path.abspath(__file__))
DB_PATH = os.path.join(BASE_DIRECTORY, 'db')
def booking(user_file_path):
name = input("菜名:")
count = input("数量:")
date = datetime.now().strftime("%Y-%m-%d")
line = "菜名:{}|数量:{}|预定日期:{}\n".format(name, count, date)
with open(user_file_path, mode="a", encoding="utf-8") as f:
f.write(line)
print("预定成功")
def history(user_file_path):
if not os.path.exists(user_file_path):
print("无历史订单")
return
with open(user_file_path, mode='r', encoding='utf-8') as f:
for line in f:
line = line.strip()
name, count, date = line.split("|")
message = "{}, {}, {}".format(name, count, date)
print(message)
def run():
if not os.path.exists(DB_PATH):
os.makedirs(DB_PATH)
print("欢迎使用订菜系统")
name = input("请输入姓名:")
filePath = os.path.join(DB_PATH, "{}.txt".format(name))
if os.path.exists(filePath):
print("欢迎回来")
else:
print("欢迎使用")
orderMap = {"1": booking, "2": history}
print("1. 预定 2. 查看历史订单 q/Q: 退出")
while True:
choice = input("序号:")
if choice.upper() == "Q":
break
func = orderMap.get(choice)
if not func:
print("无此选项,请重新输入")
continue
func(filePath)
if __name__ == '__main__':
run()
给个赞呗~