Python常用模块

Python常用模块

os模块主要与操作系统打交道
sys模块主要与解释器打交道

一、OS模块

1.os.mkdir()、os.makedirs()创建目录(文件夹)

import os
os.mkdir(r'dom2')  # 相对路径,在执行文件的路径下创建目录   创建单级目录
os.mkdir(r'dom2\demo3\demo4')  # 不可以创建多级目录
os.makedirs(r'dom2\demo3')   # 可以创建多级目录
os.makedirs(r'demo3')  # 也可以创建单级目录 

2.rmdir()、removedirs()删除目录

import os
os.rmdir(r'demo4')   # 删除单级目录
os.rmdir(r'dom2\demo3\demo4')  # 不可以一次性删除多级目录
os.removedirs(r'dom2\demo3')  # 可以删除多级目录

3.listdir()列举指定路径下的文件名称(文件/目录)

import os
print(os.listdir())   # ['.idea', 'demo.py', 'dom2', 'dom4']

4.rename()、remove()重命名,删除文件

import os
os.rename(r'a.txt',r'aab.txt')    # 重命名
os.remove(r'aab.txt')             # 删除

5.os.getcwd()获取当前工作路径

import os
print(os.getcwd())      # 切换上一级目录
print(os.chdir('..'))   # 返回当前代码运行所在的目录的上一级

6.abspath()、dirname()动态获取项目的根路径

import os
print(os.path.abspath(__file__))  # 获取执行文件所在的绝对路径
# D:\pythonProject\demo5\demo.py
print(os.path.dirname(__file__))   # 获取执行文件所在的目录文件
# D:/pythonProject/demo5

7.exists()、isfile()、isdir()判断路径是否存在

import os
print(os.path.exists(r'demo.py'))  # True  判断文件路径是否存在
print(os.path.isfile(r'a.txt'))    # True  判断路径是否为文件
print(os.path.isdir(r'demo.py'))   # False 判断路径是否为目录

8.join()路径拼接

import os
s1 = r'D:/pythonProject/demo5'
s2 = r'01.py'
print(os.path.join(s1, s2))  # D:/pythonProject/demo5\01.py

9.getsize获取文件大小

import os
print(os.path.getsize(r'a.txt'))   # 0

二、sys模块

1.path()

import sys
print(sys.path)  # 获取执行文件的sys.path
# ['D:\\pythonProject\\demo5', 'D:\\pythonProject\\demo5', 'D:\\PyCharm 2021.1.3\\plugins\\python\\helpers\\pycharm_display', 'D:\\Python38\\python38.zip', 'D:\\Python38\\DLLs', 'D:\\Python38\\lib', 'D:\\Python38', 'D:\\Python38\\lib\\site-packages', 'D:\\PyCharm 2021.1.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend']

2.最大递归深度

import sys
print(sys.getrecursionlimit())  # 1000  获取Python解释器默认最大递归深度
sys.setrecursionlimit(2000)     # 修改解释器默认最大递归深度

3.version()返回Python解释器的版本信息

import sys
print(sys.version)   # 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]

4.platform()平台信息

import sys
print(sys.platform)   # win32

5.argv()以列表形式接收参数

import sys
a = sys.argv
b = len(sys.argv)
print(a)         # ['D:/pythonProject/demo5/demo.py']
print(b)         # 1

三、json模块

1. json模块也称之为序列化模块
2. json模块是不同报错语言之间数据交互必备的模块
3. json格式数据的形式是字符串,引号是双引号
4. json.dumps()和json.loads()的区别
   json.dumps()是将一个Python数据类型列表进行格式化编码,将字典转化为字符串
   json.loads()是将json格式数据转化为字典,就是将字符串转化为字典
5. json.dump()和json.load()主要用来读写json文件函数

四、作业

 1.编写一个统计指定文件类型的脚本工具
 输入指定类型的文件后缀
     eg:.txt
 并给出一个具体路径 之后统计该类型文件在该文件下的个数
  ps:简单实现即可 无需优化
解答:
import os
count = 0
abslute_path = input('输入您要统计文件的绝对路径').strip()
path_hou = input('请输入您要指定的文件后缀').strip()
list_file = os.listdir(abslute_path)
print(list_file)
for i in list_file:
    if i.endswith(path_hou):   # endswith() 方法用于判断字符串是否以指定后缀结尾
        count += 1
print(count)
    # else:
    #     print('没有喽')
图片名称
2.针对json实操 尝试单文件多用户(一行一个)是否可实现>>>:哪个更方便
    不要求完成 单纯体会两种思路的难易
解答:
import os
base_path = r'D:\pythonProject\demo5\db'
# base_path = os.path.dirname(__file__)
list_dir = os.listdir(base_path)
for i in list_dir:
    print(f'''
    ------------------
    文件:{i}
    ''')
choice = input('请输入您要打开的文件名').strip()
for i in list_dir:
     new_line = os.path.join(base_path,i)
     if i == choice:
         print(new_line)
         # with open(new_line,'r',encoding='utf8') as f:
         #   print(f.read())
图片名称
posted @ 2022-10-20 21:05  小王应该在学习!  阅读(54)  评论(0编辑  收藏  举报