您现在的位置是:首页 >技术杂谈 >python os模块网站首页技术杂谈

python os模块

beginner*b 2024-06-17 10:20:00
简介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)
```

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。