Python --- 常用模块三

os模块:与系统操作的模块

1、获取当前工作路径, getcwd()

import os

print(os.getcwd())

>>> E:\python\python程序\test1\test2

2、 建一个文件夹,mkdir('文件名'),和当前文件同级

import os

print(os.mkdir('jiaoshi'))


>>> None

3、建多级文件夹,可生成多层递归目录,makedirs('路径')

import os

print(os.makedirs('jiaoshi/kk'))

>>> None

4、 找文件的绝对路径,path.abspath('文件名')

import os

print(os.path.abspath('jiaoshi'))

>>> E:\python\python程序\test1\test2\jiaoshi

5、找文件的上一层目录,path.dirname('路径'),貌似没什么卵子用

import os

print(os.path.dirname('jiaoshi/kk'))

>>> jiaoshi

6、显示文件夹下的内容,会显示文件和文本,在一个列表中。listdir('路径')

import os

print(os.listdir(r'jiaoshi'))


>>> ['kk']

7、 显示一个文件或文件夹的状态包括创建时间,修改时间。。。stat('路径')

import os

print(os.stat('jiaoshi'))

>>> os.stat_result(st_mode=16895, st_ino=77405618595434230, st_dev=1586569649, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1536306538, st_mtime=1536306538, st_ctime=1536306251)

8、判断路径是否存在,返回bool值。path.exists('路径')

import os

print(os.path.exists('jiaoshi'))

>>> True

9、将path分割成为上一级目录和文件名的二元组。path.split('路径')

import os

print(os.path.split('jiaoshi/kk'))

#  上一级目录,文件名
>>> ('jiaoshi','kk')

10、取出路径的文件名。path.basename('路径')

import os

print(os.path.basename('jiaoshi/kk'))

>>> kk

11、获取文件(文件夹无效)最后修改时间,path.getmtime('路径')

import os

print(os.path.getmtime('tests1'))

>>> 1535439466.2732341

12、文件的重命名,rename('old_name','new_name')

import os

print(os.rename('jiaoshi/kk','jiaoshi/aa'))

>>> None

13、当前平台的名称(windows-->nt),name

import os

print(os.name)

>>> nt

14、分割操作系统路径分隔符,sep   

import os

print(os.sep)

>>> \

15、拼接路径  第一个绝对路径之前的参数将被忽略. path.join(绝对路径,相对路径)

import os

print(os.path.join(r'E:\python\python程序\test1\test2','jiaoshi\kk'))

>>> E:\python\python程序\test1\test2\jiaoshi\kk

16、改变当前工作目录(类似cd)。chdirs('文件夹名')

import os

print(os.getcwd())
os.chdir('jiaoshi')
print(os.getcwd())

>>> E:\python\python程序\test1\test2
>>> E:\python\python程序\test1\test2\jiaoshi

17、删除一个文件,不为空就无法删除。remove('路径')

import os

os.remove('jiaoshi/kk')

18、删除多层目录,若不为空则不删除。removedirs(dirname1/dirname2)  

import os

os.removedirs('jiaoshi/aa')

19、输出行终止符(Linux为'\n',  windows '\r','\n') 。 linesep

import os

print(os.linesep)

20、运行shell直接显示, system('命令')   

import os

print(os.system('help'))



configparser 模块:  配置文件解析模块

类似于一个字典

生成一个配置文件等操作

import configparser

config = configparser.ConfigParser()
# config.add_sections('块名')--->增加一个块 
config.add_section('first')
config.add_section('second')
# config.set('块名', key,value)---->修改一个块,添加值
# 二级嵌套只能赋值字符串,不能是数字,若与一级相同则改写    
config.set('first', 'name', '111')
config.set('second', 'name', '222')
# 删除一个块
config.remove_section('second')
# 删除一个块下面的对应的值
config.remove_option('first', 'name')
# 写入到一个文件内
# 调用config的写方法,把句柄写进去,和普通写文件的方式不同(通过句柄去写)
with open('test.ini', 'w') as f:
    config.write(f)

也可以通过字典的形式修改:

config['key_name'] = values    # 按照字典的方式来存变量值
config['key_name']['next_key_name] = 'strings'

解析一个配置文件

import configparser

# 实例一个config对象,相当于一个空字典
config = configparser.ConfigParser()
# 读一个文件
config.read('example.ini')
# sections 是块的意思,读取块名,不会显示DEFAULT块,有特殊意义
print(config.sections())
# 和config.sections  一样,返回值放进一个列表内
print(config.options('joker'))
# 把键和值取出来放进元组
print(config.items('fri'))
# 取出嵌套的值
print(config.get('joker','name'))
# 读取块下的变量值,名称不区分大小写,也可以取出嵌套值
print(config['joker']['name'])

>>> ['joker', 'fri']
>>> ['name', 'level', 'stat', 'jax']
>>> [('name', 'cola'), ('level', '1'), ('stat', '666')]
>>> vn
>>> vn

当遍历一个配置文件时会打印出默认值块的内容:

import configparser

config = configparser.ConfigParser()
config.read('example.ini')
# 不仅会显示key_name下的值,也会显示DEFAULT下的值
for i in config['DEFAULT']:
    print(i)

pickle模块:

写:dumps

import pickle

with open('file.txt','wb') as f:  #  需要转换为字节的形式,写的时候需要wb模式
    a = pickle.dumps('66666')
    f.write(a)

dump:

import pickle

with open('file.txt','wb') as f:
    # pickel.dump(self,f)
    a = pickle.dump('66666',f)

读:loads

import pickle

f = open('file.txt','rb')
data = pickle.loads(f.read())
print(data)

load

import pickle

f = open('file.txt','rb')
data = pickle.load(f)
print(data)

猜你喜欢

转载自blog.csdn.net/weixin_41678001/article/details/82490708