python json包怎么安装 python安装json模块 您所在的位置:网站首页 python如何安装json python json包怎么安装 python安装json模块

python json包怎么安装 python安装json模块

2024-04-13 23:03| 来源: 网络整理| 查看: 265

模块大体分为三类:

1.Python自带的标准模块

2.第三方模块,需要安装,提供扩展功能

3.自己写的Python文件

 

下面先讲下Python自带的三个常用模块

一、常用模块--Json模块

    Json是字符串,只是形似字典, Python的写法中,字典的key值一般引用单引号' ',而Json中都是引用双引号" '',

    Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据

1. 把Json字符串转为字典 -- json.loads( )和json.load()

json.loads(),第一个入参是Json字符串,例: import json json_str=''' {"name":"xiaohei","age":18,"sex":"男","age":18} ''' res=json.loads(json_str)#把字符串转为字典 print(res) print(type(json_str)) print(type(res)) 输出结果: {'name': 'xiaohei', 'age': 18, 'sex': '男'} json.load(),第一个入参是包含Json数据的文件对象 f=open("user.json",encoding="utf-8") res=json.loads(f.read()) print(res) res=json.load(f) print(res)

    两种方法最终实现的效果是一样的。

 

2. 字典转换为json--json.dumps( )和json.dump()

    json.dumps()的第一个参数是对象字典,还有其他可选参数,也很实用。    

    ensure_ascii 默认为True,保证转换后的json字符串中全部是ascii字符,非ascii字符都会被转义。如果数据中存在中文

    或其他非ascii字符,可以将ensure_ascii设置为False,保证输出结果正常。

    indent 缩进,默认为None,没有缩进,设置为正整数时,输出的格式将按照indent指定的半角空格数缩进。例: 

dic = { "xiaohei":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "马春波":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "王东泽":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, } res=json.dumps(dic,ensure_ascii=False,indent=4)#把字典变成字符串 print(res) f=open("a.json","w",encoding="utf-8") f.write(res) #写入文件的时候,如果是.json文件,会显示出json字体颜色等 json.dump()的第一个参数是对象字典,第二个参数是文件对象,可以直接将转换后的json数据写入文件,其他可选参数与 dumps相同。例: fw=open("newuser.json","w") json.dump(dict,fw,ensure_ascii=False,indent=4)

 

二、 常用模块--os模块

1. os.listdir(path)—— 列出某个目录下所有文件,返回列表 

    os.getcwd()—— 获取当前目录

2. os.mkdir(r'test/niuhy/haha')——创建路径中的最后一级目录,如果父目录不存在,会报错

    os.makedirs(r"test1/lyl/aaa")——创建多层目录,如果父目录不存在,可以创建父目录

3. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False

    os.path.isdir()——判断指定对象是否为目录。是True,否则False。

4. os.path.exists(path) ——  path存在,返回True。不存在,返回false

5. os.path.split(path)——将路径分解为(文件夹,文件名),返回元组

    以路径字符串最后一个分隔字符"\"进行分割,若路径字符串最后一个字符是\,则只有文件夹部分有值;若路径字符串中均无\,

    则只有文件名部分有值。若路径字符串有\,且不在最后,则文件夹和文件名均有值。返回的文件夹的结果不包含\.

例: res=os.path.split('/Users/nhy/Desktop/stu.txt') print(res) 输出结果: ('/Users/nhy/Desktop', 'stu.txt') os.path.join(path1,path2,...)——自动拼接路径,将path进行组合,不用考虑分割符,若其中有绝对路径,则之前的path 将被删除 例1: res=os.path.join("test","HAHA","a.txt") print(res) 输出结果: ‘test\HAHA\a.txt’ 例2: res= os.path.join('D:\python\b', 'D:\pythontest\a') print(res) 输出结果: 'D:\pythontest\a'

6. os.path.dirname(path)——返回path的目录。其实就是os.path.split(path)的第一个元素     

    os.path.basename(path)——返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)

    的第二个元素

7. os.chdr()——更改当前目录

    os.chdr('../day4)按相对路径更改

    os.chdr('/Users/nhy/Desktop')按绝对路径更改

8. os.path.abspath(path)——返回标准化的绝对路径

    res= os.path.abspath('..')#根据相对路径取绝对路径

    print(res)

9.os.environ——查看电脑的环境变量

10. os.system('hhhsdf')——执行操作系统命令

 

三、常用模块--time模块

    格式化时间:YYYY-MM-DD或YYYYMMDD等

    时间元组:time.struct_time(tm_year=2018, tm_mon=12, tm_mday=4, tm_hour=17, tm_min=16, tm_sec=41,

    tm_wday=1,tm_yday=338, tm_isdst=0)

1. time.time()——取时间戳

2 .time.gmtime([secs])——接收时间戳,转化为时间元组,按标准时间转换。不输入参数时默认取当前时间的时间戳。

    time.localtime([secs])——接收时间戳,转化为时间元组,按当地时间转换。不输入参数时默认取当前时间的时间戳。

3 .time.strftime(format[,t])——把时间元组转换为格式化的时间,t不指定时,默认传入time.locatime()

    time.strptime(string[,format])——把格式化时间转化为时间元组

    两者实际是逆操作

4. time.mktime(t) —— 接收时间元组,转化为时间戳

   定义一个函数,把时间戳转为格式化时间:   

def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'): #时间戳转格式化好的时间 if timestamp: time1 = time.localtime(timestamp) res = time.strftime(format, time1) else: res = time.strftime(format) return res 定义一个函数,把格式化时间转为时间戳: def strTotimestamp(str=None,format='%Y%m%d%H%M%S'): #格式化的时间转时间戳 if str: timep = time.strptime(str, format) res = time.mktime(timep) else: res = time.time() return int(res)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有