Python函数小节

文件系统交互: os和shutil模块

分类 函数 描述
Get Info os.getcwd() 获取当前工作目录,对应shell : pwd
os.listdir() 列举当前目录下文件名,对应shell : ls
os.walk(“starting_directory_path”) 返回一个生成器,会遍历当前目录下和所有子目录下的文件
Change Things os.chdir("/absolute/or/relative/path") 修改当前工作目录,相当于cd
os.path.join() 创建一个路劲,自动添加‘/’符等
os.makedirs(“dir1/dir2”) 创建一个目录,推荐makedirs(),不推荐mkdir()
shutil.copy2(“source_file”, “destination”) 拷贝文件
shutil.move(“source_file”, “destination”) 移动文件
os.remove(“my_file_path”) 删除文件
shutil.rmtree(“my_directory_path”) 删除目录

filter函数和lambda表达式: filter函数
fitler通过函数对序列过滤,返回一个迭代器对象
lambda表达式,匿名函数,全局变量存在的情况下,可捕获全局变量

filter(function, iterable) #语法,function参数为iterable中的一个元素,遍历每个元素it,如果function(it)为true,则保留,否则丢弃
lambda [arg1 [,arg2,.....argn]]:expression # 语法

head = ['EMAIL', 'PHONE', 'DISCARD', 'PID'] #格式头列表,过滤掉DISCARD字段
list(filter(lambda x: True if x.find('DISCARD') == -1 else False,  head)) 
#输出['EMAIL', 'PHONE', 'PID'],过滤掉了‘DISCARD’

解析json文件: 读写JSON数据

import json
from collections import OrderedDict
json.loads(data, object_pairs_hook=OrderedDict, strict=False) 
#loads解析json文件, 返回字典对象,data为json格式的字符串,object_pairs_hook=OrderedDict,表示json文件中key:value按照原先顺序保存在返回的字典中,strict=False,data中可以包含'\t',不然会报错。  

操作系统交互: getopt,os模块,os.path模块

import os
import getopt
import sys

sys.argv[1] # 获取命令行参数

os.system('ls') #执行shell脚本

os.path.exists(path_name) #判断文件path_name是否存在

os.mkdir(path_name) #创建目录

opts, args = getopt.getopt(sys.argv[1:], "hc:t:", ["help", "mv"]) #getopt,解析命令行参数模块

正则表达式: re模块

import re
reg = re.compile('^.*$')
reg.match('hello')
使用场景 正则表达式
邮箱 ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
中文姓名 ^[\u4e00-\u9fa5]+$
任意字符串 ^.*$
带中文用户名 ^(\w|[\u4e00-\u9fa5]){1,30}$
大陆手机号码 ^1[3|4|5|7|8][0-9]{9}$
身份证号码 ^([0-9]{17}(\d|X))$

推荐链接
Python-内置函数小结

你可能感兴趣的:(python工具)