首页 > 其他分享 >os 模块 sys模块 json模块

os 模块 sys模块 json模块

时间:2022-10-20 21:11:30浏览次数:65  
标签:路径 sys json 模块 print path os 目录

今日内容详细

os模块(重要)

os模块主要与代码运行所在的操作系统打交道
import os

1.创建目录
1.创建目录(文件夹)
    os.mkdir(r'L4')
    # 只可以创建单级目录 相对路径 执行文件所在的路径下创建目录
    os.mkdir(r'L1\L2\L3')
    # 不能创建多级文件
    os.makedirs(r'L3\l3\l4')
    # 可以创建多级目录
    os.makedirs(r'L3')
    # 也可以创建单级目录
2.删除目录
2.删除目录(文件夹)
    os.rmdir(r'L1')
    #可以删除单级目录 只能删除空的单级目录
    os.removedirs(r'L3\l3\l4')
    #可以删除多级目录 只能删除空的多级目录
3.列举指定路径下内容文件
3.列举指定路径下内容名称
    print(os.listdir())
    #['.idea', 'a.py', 'L4']当前目录下的文件名称
    print(os.listdir(r'E:\\动画'))
    #['《触摸》毕业设计李宗月', '动画_1.avi', '场景设计', '简历']
    #指定路径下的所有文件名和隐藏文件名
4.删除/重命名文件
4.删除/重命名文件
    os.rename(r'L4',r'L1')
    #重命名文件名 前面是原来的名 后面是要更改的名
    os.remove(r'L1\1.py')
    #删除指定文件
5.获取/切换当前工作目录
5.获取/切换当前工作目录
    print(os.getcwd())
    #D:\python10.20 获取当前所在的文件目录
    os.chdir('..')
    os.makedirs(r'LL')
    #切换到上一级创建文件夹
6.动态获取项目根路径
6.动态获取项目根路径(重要)
    print(os.path.abspath(__file__))
    #D:\python10.20\a.py 获取当前文件所在的绝对路径
    print(os.path.dirname(__file__))
    #D:/python10.20 获取当前文在所在的目录路径
7.判断路径是否存在(文件、目录)
7.判断路径是否存在(文件、目录)
    print(os.path.exists(r'a.py'))
    #True 判断文件路径是否存在
    print(os.path.exists(r'D:\LL'))
    #True 判断目录是否存在
    print(os.path.isfile(r'a.py'))
    #True 判断路径是否是文件
    print(os.path.isfile(r'D:\\'))
    #False 判断路径是否是文件
    print(os.path.isdir(r'a.py'))
    #False 判断路径是否是目录
8.路径拼接(重要)
8.路径拼接(重要)
    s1=r'D:\LL'
    s2=r'a.py'
    print(f'{s1}\{s2}')
    #D:\LL\a.py
    """
    涉及路径拼接一定不要自己做 
    因为不同的操作系统路径分隔符不同
    """
    print(os.path.join(s1, s2))
    #D:\LL\a.py
9.获取文件大小(字节)
9.获取文件大小(字节)
    print(os.path.getsize(r'a.py'))
    #2102  一个英文是一个字符 一个中文是3个字符

sys模块

import sys

    print(sys.path)
    #['D:\\python10.20',
    # 'D:\\python10.20',
    # 'D:\\PyCharm 2021.3.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.3.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
    #获取执行文件的sys.path
    sys.getrecursionlimit(2000)
    #修改python解释器的默认最大深度为2000
    print(sys.version)
    #3.8.6 python解释器的版本
    print(sys.platform)
    # win32 平台信息 (了解即可)
    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 格式数据的作用

![313e7084b23e852d42df7ffcc1af07b](C:\Users\李宗月\AppData\Local\Temp\WeChat Files\313e7084b23e852d42df7ffcc1af07b.png)

json格式数据的形式
字符串类型并且是双引号
json相关操作
针对数据:
   json.dumps()
   #将某一个数据类型转成json类型的字符串
   json.loads()
   #反序列化 将json格式化的字符串转成其他格式
针对文件:
   json.dump()
   #将某一个数据类型转成json类型的字符串 并写入文件  要有一个文件对象
   json.load()
   #读取文件中的json格式化数据类型并反序列化成数据类型

    user_dict = {'name': 'jason', 'pwd': 123}
    '''将字典写入文件并且取出来之后还可以是字典'''
    # with open(r'b.txt', 'w', encoding='utf8') as f:
    #     f.write(str(user_dict))
    # with open(r'b.txt','r',encoding='utf8') as f:
    #     data = f.read()
    # print(data, type(data))
    with open(r'b.txt','w',encoding='utf8') as f:
        json_str = json.dumps(user_dict)  # '{}'  序列化:数据类型>>>json格式字符串
        f.write(json_str)
        json.dump(user_dict, f)  # 将数据序列化并写入文件
    with open(r'b.txt', 'r', encoding='utf8') as f:
        json_str = f.read()
        json_dict = json.loads(json_str)  # 反序列化:json格式字符串>>>数据类型
        print(json_dict, type(json_dict))
        res = json.load(f)  # 读取文件中json格式数据并反序列化成数据类型
        print(res, type(res))
        for line in f:
            print(json.loads(line))

json模块实战

import os
import json
base_dir = os.path.dirname(__file__)
#获取执行文件所在的目录路径
db_dir = os.path.join(base_dir,'db')
#把执行文件的目录路径和db目录的路径拼接在一起
if not os.path.isdir(db_dir):
#判断db_dir路径是否是目录
    os.mkdir(db_dir)
#创建db_dir目录
username= input('name:')
password= input('pwd:')
#获取用户信息
user_file_path=os.path.join(db_dir,f'{username}.json')
#把db_dir文件和获取的用户名拼接在一起 转成json类型
user_dict={
    'username':username,
    'password':password,
    'account':1500,
    'shop_car':[]
}
user_file_path=os.path.join(db_dir,f'{username}.json')
with open(user_file_path,'w',encoding='utf8')as f:
    json.dump(user_dict,f)
username = input('username:')
if not os.path.isfile(user_file_path):
    print('用户名错误')
else:
    password=input('pwd:')
    with open(user_file_path,'r',encoding='utf8')as f:
        real_user_dict = json.load(f)
    if password == real_user_dict.get('password'):
        print('登陆成功')
    else:
        print('密码错误')

标签:路径,sys,json,模块,print,path,os,目录
From: https://www.cnblogs.com/lzy199911/p/16811329.html

相关文章

  • 内置模块之os、sys模块
    内置模块之os、sys模块os与sys模块的区别os模块主要与操作系统打交道sys模块主要与python解释器打交道os模块os模块主要用于对接我们的操作系统。os模块主要有以下......
  • python进阶之路18 os、sys、json模块
    os模块与sys模块os模块主要与操作系统打交道sys模块主要与python解释器打交道os模块(重要)os模块主要与代码运行所在的操作系统打交道importos#1.创建目录(......
  • 模块
    Python3OS文件/目录方法os模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:importos#1创建目录#os.mkdir(r'd1')#相对路径在执行文件所在的......
  • 常见模块
    今日内容总结模块os模块importos1.创建目录(文件夹)os.mkdir(r'd1')#相对路径在执行文件所在的路径下创建目录可以创建单级目录os.mkdir(r'd2\d22\d222')#......
  • bochs-2.7 make编译时出错cannot generate system identifier for public text "-//OA
    问题错误日志在使用命令sudomake编译bochs-2.7时,遇到以下报错:make-Cdoc/docbookmake[1]:Enteringdirectory'/opt/bochs-2.7/doc/docbook'mkdir-pdevelopmen......
  • 模块
    os模块(重要)1.创建目录(文件夹)importosos.mkdir(r'd1')#相对路劲,在执行文件所在的路径下创建目录,但是可以创建单级目录os.mkdir(r'd2\d22\d222')#不可以创建多级目录......
  • 常用内置模块之os、sys、json简介
    昨日内容回顾包的使用包与普通模块的使用相同。导入包实际是导入了包内的双下iter文件,可以使用该文件内的名称。软件开发目录规范启动相关文件夹bin......
  • 【java json基础】字符串转json json转字符串 json数组转换 【java基础知识】【实用】
    读书就是:从薄读厚,再从厚读薄的过程。(前部分:问答,后部分:测试举例)         数据测试:举例:      ......
  • 重要内置模块
    目录一.os模块1.创建目录(文件夹)2.删除目录(文件夹)3.列举指定路径下内容名称4.删除/重命名文件5.获取/切换当前工作目录6.动态获取项目根路径(重要)7.判断路径是否存在(......
  • comsol光学模块学习01
    1.求解形式COMSOLMultiphysics是以有限元法为基础,通过求解偏微分方程(单场)或偏微分方程组(多场)来实现真实物理现象的仿真,用数学方法求解真实世界的物理现象。有限元分析......