os模块(重要)
1.创建目录(文件夹)
| os模块主要与代码运行所在的操作系统打交道 |
| import os |
| os.mkdif(r'd1') |
| os.mkdir(r'd2\d22\d222') |
| |
| os.makedirs(r'd2\d22\d222') |
| |
| os.makedirs(r'd3') |
| |
2.删除目录(文件夹)
| import os |
| os.rmdir(r'd1') |
| |
| os.rmdir(r'd1\d22\d222') |
| |
| os.removedirs(r'd1\d22') |
| |
| os.removedirs(r'd2\d22\d222\d2222') |
| |
| os.rmdir(r'd3') |
| |
3.列举指定路径下内容名称
| import os |
| print(os.listdir()) |
| print(os.listdir(r'D:\\')) |
4.删除/重命名文件
| os.rename(r'a.txt',r'aaa,txt') |
| |
| os.remove(r'aaa.txt') |
5.获取/切换当前工作目录
| print(os.getcwd()) |
| |
| os.chdir('..') |
| |
| print(os.getcwd()) |
| os.mkdir(r'hei') |
| '如果不在一个目录中要操作创建或者删除 就要先返回' |
6.动态获取项目根路径(重要)
| print(os.path.abspath(__file__)) |
| |
| print(os.path.dirname(__file__)) |
| |
7.判断路径是否存在(文件、目录)
| print(os.path.exists(r'文件名'.py)) |
| |
| print(os.path.exists(r'D:\pythonProject03\day19') |
| print(os.path.isfile(r'文件名.py')) |
| |
| print(os.path.isfile(r'D:\pythonProject03\day19')) |
| |
| |
| print(os.path.isdir(r'01 os模块.py')) |
| |
| print(os.path.isdir(r'D:\pythonProject03\day19')) |
| |
8.路径拼接(重要)
| s1 = r'D:\pythonProject03\day19' |
| s2 = r'01 os模块.py' |
| print(f'{s1}\{s2}') |
| """ |
| 涉及到路径拼接一定不要自己做 因为不同的操作系统路径分隔符不一样 |
| |
| """ |
| print(os.path.join(s1, s2)) |
sys模块
| import sys |
| print(sys.path) |
| print(sys.getrecursionlimit()) |
| sys.setrecursionlimit(2000) |
| print(sys.version) |
| |
| res = sys.argv |
| if len(res) != 3: |
| print('执行命令缺少了用户名或密码') |
| else: |
| username = res[1] |
| password = res[2] |
| if username == 'jason' and password == '123': |
| print('jason您好 文件正常执行') |
| else: |
| print('您不是jason无权执行该文件' |
json模块
| json模块也可以称为序列化模块 序列化也可以打破语言限制实现不同编程语言之间数据交互 |
| |
| json格式数据的作用 |
| |
| json格式数据的作用 |
| 字符串类型并且引用都是双引号 |
| |
| json相关操作 |
| 针对操作 |
| json.dumps() |
| json.loads() |
| |
| 针对文件 |
| json.dump() |
| json.load() |
json模块实战
| 用户登录注册功能 |
| import os |
| import json |
| |
| |
| 1.获取执行文件所在的目录路径 |
| base_dir = os.path.dirname(__file__) |
| |
| db_dir = os.path.join(base_dir, 'db') |
| |
| if not os.path.isdir(db_dir): |
| os.mkdir(db_dir) |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| username = input('username>>>:').strip() |
| |
| target_user_file_path = os.path.join(db_dir, f'{username}.json') |
| if not os.path.isfile(target_user_file_path): |
| print('你赶紧滚蛋 用户名都不对 搞什么飞机') |
| else: |
| password = input('password>>>:').strip() |
| |
| with open(target_user_file_path,'r',encoding='utf8') as f: |
| real_user_dict = json.load(f) |
| if password == real_user_dict.get('password'): |
| print('登录成功') |
| else: |
| print('密码错误') |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构