python常用模块(一)

python常用模块(一)

time模块常用

# 通常time模块打印时间有三种
import time
# 时间戳形式
print(time.time())  # 时间戳时从1970年1月1日开始计时的时间
# 格式化时间(需要自己定义格式)
print(time.strftime(%Y-%m-%d %X))  # 年月日 时间
# 结构化时间
print(time.localtime())  # 以北京时间为准
print(time.gmtime())  # 以格林威治时间为准 与北京时间8小时时差

# 结构化时间转为格式化时间
struct_time = time.localtime()
print(time.strftime('%Y-%m-%d',struct_time))

# 结构化时间转为时间戳
print(time.mktime(struct_time))

# 格式化时间转为结构化时间
format_time = time.strftime('%Y-%m-%d %X')
print(time.striptime('2019-06-01 12:00:00','%Y-%m-%d %X'))

# 时间戳转化为结构化时间
stamp_time = time.time()
print(time.localtime(stamp_time))

# 掌握时间停滞方法
time.sleep()  # 写秒数

datatime模块常用

import datetime
# 获取当地时间
now = datetime.datetime.now()  # 打印出来完整的年月日时分秒 加上毫秒
# 对打印出来的时间进行加减
print(now + datetime.timedelta(days = 5))  # 默认修改为天
print(now + datetime.timedelta(5))  #加五天
print(now + datetime.timedelta(-5))  # 减五天

print(now + datetime.timedelta(hours = 5)) #可修改小时,分钟,秒. hours/minutes/secends
# 自定义修改时间
print(now.replace(year= 2010,month= 11, day = 22, hour = 4)  # 全不可以自定义,不修改的部分就和现在的时间一致

os模块(*)

# os和操作系统相互交互,文件操作

import os

# 创建文件夹
os.mkdir('kkk')

# 删除多个空文件夹,会一直递归往上删除,直至删除所有空文件夹
os.removedirs(r'D:day 17bbcccddd')

# 删除一个空文件夹
os.rmdir(r'D:day 17bb')

# 列出文件夹内所有文件名和隐藏问件名
print(os.listdir(r'D:day 17bb'))

# 删除文件
os.remove(r'D:day 17bb	est.py')

# 重命名文件
os.rename(r'D:day 17bb	est.py',r'D:day 17bbjiba.py')  # 原文件名改为新文件名

# 打印环境变量
print(os.environ)

# dirname 用在执行文件添加环境变量 (*)
print(os.path,dirname(r'D:day 17bb	est.py'))
print(os,path,dirname(__file__))

# import sys
sys.path.append(r'D:day 17bb	est.py')  # 添加环境变量

# 判断文件是否存在
print(os.path.exis(r'D:day 17bb	est.py'))  # 返回布尔值

# 拼接文件路径,(因为系统不一样,文件路径的衔接也不相同)
print(os.path.join(r'D:day 17bb	est','sb.py'))  

# 计算文件大小 (*)
print(os.path.getsize(r'D:day 17bb	est.py'))

# 打印文件夹下所有文件夹和文件
print(os.walk(r'D:day 9').__next__)

random模块

# 随机数模块
import random
print(random.random())  # 会打印0到1之间的随机小数,不包括0和1

# 打印[n,m]之间的数
print(random.randint(1,3))  # 闭区间

# 打印(n,m)之间的小数
print(random.uniform(1,3))

# 打印[n,m)之间的整数
print(random.randrange(1,3))

# 从容器中选择一个随机元素
print(random.choice([1000,'2',333,'ada'])

# 从容器中选择多个
print(random.sample([1,'w',32,'2','b'],2)  # 从指定容器选择2个随机元素

# 将容器中的元素打乱
lis = [1,9,41,14,5,23,6,26,2]
random.shuffle(lis)
print(lis)  # lis已被打乱

sys模块

# 与python交互
import sys

print(sys.argv)  (**)
# Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数

# 获取解释器的版本
print(sys.hexversion)

# 获取当前文件导入模块的路径
print(sys.path)  # 调用sys.stdout

# sys.stdout.write('123
') 类似print 但这是c写的

# print(sys.stdin.read(10))

def print(str, end = '
'):
	str = str + end
	sys.stdout.write('我是新的print
')
	sys.stdout.write(str)

print('sdads')  # 调用该手写的print 可以输出相应的字符串(其它格式还不行)

json和pickle模块

json模块和pickle将数据序列化保存数据,json格式其它与言也会有,所以可以跨平台传输数据

# json中只能写入python中的dict/list/str/int/float/bool/None

# pickle是python独有的,可存任意类型数据

import json

dic = {'name':'nick'}
with open('test.json','w',encoding = 'utf8') as fw:
	json.dump(dic,fw)
	
with open('tset.json','r',encoding = 'utf8') as fr:
	data = json.load(fr)
	
print(data, type(data))

# pickle由于传输的是二进制,所以应该用b模式打开

def func():
	print('111')

with open(r'D:day 17m1	est.pkl','wb') as fw:
    pickle.dump(func,fw)

with open(r'day 17m1	est.pkl','rb') as fr:
    data = pickle.load(fr)
data()

原文地址:https://www.cnblogs.com/Dr-wei/p/10998457.html