python ca模块_python模块

模块

模块定义

模块分为内置模块、自定义模块、第三方模块

自定义模块:将自定义模块的py文件或者py目录,放在sys.path的路径下就可以被加载

注意: py2需要在文件路径加__init__.py

导入模块

import module_name 导入模块中得所有功能

import os

dirname = os.path.dirname('AppData\Local\Programs\Python\Python37')

print(dirname)

>AppData\Local\Programs\Python

from module_name import *|func_name[,func_name...] 导入某个模块的某一个功能或多个功能,在执行时不需要在引用模块名称

from os import path

dirname = path.dirname('/etc/nginx/nginx.conf')

print(dirname)

>/etc/nginx

for example

支持文件夹下的文件,自动将上层目录下的py文件作为模块导入到到本文件

import os

import sys

path = os.path.abspath(__file__)

import_path = os.path.dirname(os.path.dirname(path))

sys.path.append(import_path)

json

在不同语言中做数据交换

json与pickle的比较

json:所有语言通用,但是只能序列化基础数据类型list/dict/int

pickle:python中所有数据类型都能被序列化(除socket对象),但是序列化后的内容只能被python认识

json.dumps #将python的文件的列表、字典类型转为json格式------序列化

ensure_acsii=Flase 序列化时保留为中文输出

source = [11,22,33,44,'你好']

print(json.dumps(source),type(json.dumps(source)))

>[11, 22, 33, 44, "\u4f60\u597d"]

print(json.dumps(source,ensure_ascii=False))

>[11, 22, 33, 44 , '你好']

json.loads #将其他语言的json格式转换为python的类型------反序列化

source = '[22,33,44,55]'

print(json.loads(source),type(json.loads(source)))

>[22, 33, 44, 55]

json.dump(v,f) 序列化v并写到文件

json.load(f) 读取文件f并做反序列化

pickle

pickle.dumps

pickle.loads

def func():

print('pickle')

data1 = pickle.dumps(func)

print(data1)

> b'\x80\x03c__main__\nfunc\nq\x00.'

data2 = pickle.loads(data1)

print(data2)

>

data2()

> pickle

sys

sys.path 获取python读取模块的默认路径

sys.path.append('path') 增加path路径为默认模块路径

sys.argv 给py脚本进行传参

sys.argv[1]获取脚本的第一个参数

os

os.rename

os.makedirs

os.path.join 拼接路径

time

time.time() 获取时间戳

time.sleep() 等待秒数

time.timezone() 获取时区

datatime

datetime.datetime.now() 获取当前时间

datetime.datetime.utcnow() 获取当前UTC时间

datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S') 根据指定格式打印当前时间

获取指定时区时间

from datetime import datetime,timezone,timedelta

time_zone = timezone(timedelta(hours=1))

time_zone_now = datetime.now(time_zone)

print(time_zone_now)

> 2020-05-17 06:22:23.753217+01:00

字符串转化为datetime

from datetime import datetime

str_time = '2011-11-11'

date_time = datetime.strptime(str_time,'%Y-%m-%d')

print(date_time)

时间加减

from datetime import datetime,timedelta

now_time = datetime.now()

relative_time = timedelta(days=12)

result_time = now_time + relative_time

print('{}\n{}'.format(now_time,result_time))

> 2020-05-17 13:56:45.864314

2020-05-29 13:56:45.864314

时间戳与datetime的关系

#时间戳转化为本地时间

import time

from datetime import datetime

ctime = time.time()

now_time = datetime.fromtimestamp(ctime)

print(ctime,now_time)

> 1589695409.8007972 2020-05-17 14:03:29.800797

#再将本地时间转化为时间戳

new_ctime = now_time.timestamp()

print(new_ctime)

>1589695409.8007972

shutil

shutil.rmtree 删除目录,没有返回值

shutil.move 重命名文件名或目录名

shutil.copyfile(src.file,des.file) 将src.file文件拷贝为des.file

shutil.copymode() 只拷贝权限

shutil.copy() 拷贝文件和权限

shutil.make_archive('base_name','format','root_dir') 将root_dir目录以fromat的格式压缩为base_name.zip

shutil.unpack_archive('archive_name','des_dir') 将压缩包archive_name解压到des_dir目录下,如果目标目录不存在则新建

getpass

getpass.getpass

random

random.randint(1,100) 获取1-100的随机数

hashlib

hashlib.md5('加盐字符串').update('要加密的字符串').hexdigest() 字符串md5加密

def md5_encry(data,fuse='md5encryption'):

import hashlib

obj = hashlib.md5(fuse.encode('utf-8'))

obj.update(data.encode('utf-8'))

encry_result = obj.hexdigest()

return encry_result

requests

requests.get(url) 请求url

requests.get(url).text 请求url的文本内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值