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

    序列化的目的

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

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

最新文章

  1. XVI Open Cup named after E.V. Pankratiev. GP of Ekaterinburg
  2. Mvc form提交
  3. java 入门 第二季1
  4. 用shell脚本写一个for循环
  5. NBOJv2 1050 Just Go(线段树/树状数组区间更新单点查询)
  6. ng-select ng-options ng-repeat的用法与区别
  7. Qt使用AES加密算法对字符串进行加密
  8. Mini-project # 1 - Rock-paper-scissors-___An Introduction to Interactive Programming in Python&quot;RICE&quot;
  9. 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH
  10. SE 2014年4月29日
  11. DeviceIOControl具体解释-各个击破
  12. 【费式数列(Fibonacci数列)】
  13. C++11 单例类实现
  14. GUI线程 :打字母游戏
  15. Webdriver之API详解(1)
  16. RANSAC
  17. python 一些方法函数
  18. Redis常用操作--------SortedSet(有序集合)
  19. Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule将推翻自己积累了30年的学术成果时
  20. Win10更改CMD控制台的代码页和字体和字号

热门文章

  1. Codeforces Round #332 (Div. 2) D. Spongebob and Squares(枚举)
  2. Selenium 库
  3. File操作-将数据库里的数据写入到指定路径的txt文件里
  4. Django 国际化和本地化
  5. RedHat/CentOS根目录扩容
  6. LFU Cache
  7. 注册表的作用、bat文件中REG ADD命令添加注册表项以及bat
  8. Memcached安装&amp;启动
  9. HTML第四章总结
  10. Linux中怎么通过PID号找到对应的进程名及所在目录