1. 一、os模块
    os.system("bash command") 运行shell命令,直接显示
  2. os.popen("bash command).read() 运行shell命令,获取执行结果
  3. os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
  4. os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
  1. os.path
  2. os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) path分割成目录和文件名二元组返回
  3. os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
  4. os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
  5. os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
  6. os.path.isabs(path) 如果path是绝对路径,返回True
  7. os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
  8. os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
  9. os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
  10. os.path.getatime(path) 返回path所指向的文件或者目录的最后访问时间
  11. os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
  12. os.path.getsize(path) 返回path的大小
  13.  
  1.   os模块所做的事情
        定制了很多方法 间接的帮助你去调用操作系统的命令 获得结果
        然后帮助你分析整理成我们需要的数据类型的形态
        你也可以os.popen/os.system直接取调用操作系统的命令 获得结果
        但是 分析和整理的工作需要你自己做
        os模块的方法本身能够完成的功能我们就用定制好的方法就够了
        如果有一天 你发现os模块定制好的功能解决不了我们的问题了
        而刚好操作系统的命令能够很好地帮助我们解决问题
        这个时候就用os.popen/os.system
  2.  
  3. 二、序列化模块

    序列化的目的

      1、以某种存储形式使自定义对象持久化
      2、将对象从一个地方传递到另一个地方。
      3、使程序更具维护性。
 

  1. import json
  2. dic = {'k1':'v1','k2':'v2','k3':'v3'}
  3. str_dic = json.dumps(dic) #序列化:将一个字典转换成一个字符串
  4. print(type(str_dic),str_dic) #<class 'str'> {"k3": "v3", "k1": "v1", "k2": "v2"}
  5. #注意,json转换完的字符串类型的字典中的字符串是由""表示的
  6.  
  7. dic2 = json.loads(str_dic) #反序列化:将一个字符串格式的字典转换成一个字典
  8. #注意,要用json的loads功能处理的字符串类型的字典中的字符串必须由""表示
  9. print(type(dic2),dic2) #<class 'dict'> {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
  10.  
  11. list_dic = [1,['a','b','c'],3,{'k1':'v1','k2':'v2'}]
  12. str_dic = json.dumps(list_dic) #也可以处理嵌套的数据类型
  13. print(type(str_dic),str_dic) #<class 'str'> [1, ["a", "b", "c"], 3, {"k1": "v1", "k2": "v2"}]
  14. list_dic2 = json.loads(str_dic)
  15. print(type(list_dic2),list_dic2) #<class 'list'> [1, ['a', 'b', 'c'], 3, {'k1': 'v1', 'k2': 'v2'}]
  16.  
  17. loadsdumps
  1. import json
  2. f = open('json_file','w')
  3. dic = {'k1':'v1','k2':'v2','k3':'v3'}
  4. json.dump(dic,f) #dump方法接收一个文件句柄,直接将字典转换成json字符串写入文件
  5. f.close()
  6.  
  7. f = open('json_file')
  8. dic2 = json.load(f) #load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回
  9. f.close()
  10. print(type(dic2),dic2)
  11.  
  12. loaddump
  1.  

os模块,序列化模块,json模块,pickle模块的更多相关文章

  1. python-时间模块,random、os、sys、shutil、json和pickle模块

    一.time与datetime模块 time模块: 时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,返回类型为float类型 格式化时间字符串(Format String) ...

  2. os模块,sys模块,json和pickle模块,logging模块

    目录 OS模块 sys模块 json和pickle模块 序列化和反序列化 json模块 pickle logging模块 OS模块 能与操作系统交互,控制文件 / 文件夹 # 创建文件夹 import ...

  3. 模块讲解---os模块,sys模块,json和pickle模块,logging模块

    目录 模块的用法 os模块 常用的功能 sys模块 常用的功能 json和pickle模块 4. logging模块 模块的用法 通过 import 或者from......import...... ...

  4. json 与pickle模块(序列化与反序列化))

    一.什么是序列化(pickling): 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化. 序列化可以持久保存状态, 不会根据计算机断电或者重启程序,而使得之前的数据状态丢失.可以在下次程 ...

  5. python模块(json和pickle模块)

    json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...

  6. Python json和pickle模块

    用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...

  7. 包--json 与 pickle 模块

    一. 包 一个含有__init__.py 文件的文件夹(将py 文件中的内容划分成不同的部分放在不同的py 文件中,在将这些py 文件放在一个文件夹中) 是模块,不做执行文件,仅做调用 m1.py 和 ...

  8. Python之时间模块、random模块、json与pickle模块

    一.时间模块 1.常用时间模块 import time # 时间分为三种格式 #1.时间戳---------------------以秒计算 # start= time.time() # time.s ...

  9. python常用模块之json、pickle模块

    python常用模块之json.pickle模块 什么是序列化? 序列化就是把内存里的数据类型转换成字符,以便其能存储到硬盘或者通过网络进行传输,因为硬盘或网络传输时只接受bytes. 为什么要序列化 ...

  10. 第十章、json和pickle模块

    目录 第十章.json和pickle模块 一.序列化 二.json 三.pickle模块 第十章.json和pickle模块 一.序列化 把对象(变量)从内存中变成可存储或传输的过程称之为序列化, 序 ...

随机推荐

  1. 将 Graphviz .dot 文件转换为其他格式的图像

    参考: Graphviz: How to go from .dot to a graph? 将 Graphviz .dot 文件转换为其他格式的图像 在Linux系统下,使用以下命令: dot -Tp ...

  2. 【译】第38节---EF6-基于代码的配置

    原文:http://www.entityframeworktutorial.net/entityframework6/code-based-configuration.aspx EF6引入了基于代码的 ...

  3. 《机器学习实战》之k-近邻算法(示例)

    看了这本书的第一个算法—k-近邻算法,这个算法总体构造思想是比较简单的,在ACM当中的话就对应了kd树这种结构.首先需要给定训练集,然后给出测试数据,求出训练集中与测试数据最相近的k个数据,根据这k个 ...

  4. HDU 1298 T9(字典树+dfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=1298 题意:模拟手机9键,给出每个单词的使用频率.现在给出按键的顺序,问每次按键后首字是什么(也就是要概率最大的 ...

  5. HDU 1403 Longest Common Substring(最长公共子串)

    http://acm.hdu.edu.cn/showproblem.php?pid=1403 题意:给出两个字符串,求最长公共子串的长度. 思路: 刚开始学后缀数组,确实感觉很难,但是这东西很强大,所 ...

  6. _ai_gameobject

  7. 由设置body线性背景色引发的问题-----当声明文档类型时,对body设置线性背景色,页面背景色无法整体线性过渡

    问题:当声明文档类型时,对body设置线性背景色,页面背景色无法整体线性过渡 不声明文档类型时,对body设置线性背景色 <HTML> <head> <meta char ...

  8. Gson的fromJson()方法把json字符创转为实体

    直接上代码: 1.先看Person实体类 import lombok.Data; @Data public class Person { private String name; private in ...

  9. python 拷贝文件

    使用绝对目录: import os import shutil shutil.copyfile("/opt/test/update.tar.gz","/opt/updat ...

  10. MySQL中字符串和数字拼接

    select * from qa_employ where EMPLOY_GROUP =2 原先雇佣表中所有雇佣姓名全部是"张三", 希望将雇用姓名变得不一样,比如张三+id SQ ...