python学习笔记(六)— 模块
一、os、sys模块
import os
print(os.getcwd())#取当前工作目录,绝对路径
print(os.chdir("../"))#更改当前目录 print(os.pardir) # 父目录,相对路径
print(os.curdir)#当前目录,相对路径 os.rmdir("a")#删除指定的文件夹,空文件夹
os.remove("test") # 删除文件
os.rename("test1","test")#重命名 print(os.listdir('.'))#列出一个目录下的所有文件
print(os.stat("f2"))#获取文件信息 print(__file__)#__file__是这个文件的绝对路径
print(os.path.abspath(__file__))#获取绝对路径 print(os.path.split("/usr/hehe/hehe.txt")) # 分割路径和文件名
print(os.path.dirname("/day5/f1")) # 获取父目录
print(os.path.basename("/day5/f1"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名 print(os.path.exists("c://test")) # 目录/文件是否存在
print(os.path.isfile("test"))#判断是否是一个文件
print(os.path.isdir("D:\资料\笔记\Python\day5"))#是否是一个文件夹
print(os.path.join("root",'hehe','a.sql'))#拼接成一个路径 print(os.stat("f1")) # 获取文件信息
print(os.sep) # 当前操作系统的路径分隔符
print(os.linesep) # 当前操作系统的换行符
print(os.pathsep) # 当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
print(os.environ) # 当前系统的环境变量
print(os.name) # 当前系统名称 os.system('ipconfig')#执行操作系统命令,只能执行,不能获取结果
res=os.popen('ipconfig')#执行操作系统命令,并且可以获取返回结果
print(res.read())
import sys
print(sys.argv)#命令行参数List,第一个元素是程序本身路径
sys.exit(n)#退出程序,正常退出时exit(0)
sys.version#获取Python解释程序的版本信息
sys.maxint#最大的Int值
sys.path#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform#返回操作系统平台名称
sys.stdout.write('please:') # 向屏幕输出一句话
val = sys.stdin.readline()[:-1] # 获取输入的值
二、time、datetime模块
import datetime,time
time.sleep(1)#休息几s
print(time.timezone)#和标准时间相差的时间,单位是s
print(time.time())#获取当前时间戳
#时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数
'''时间戳和格式化好的时间相互转换的话,要转换成时间元组'''
print(time.gmtime(181818881))#默认取标准时区的时间戳,输入一个时间戳把时间戳转换成时间元组
print(time.localtime(181818881))#默认取当前时区的时间戳,输入一个时间戳把时间戳转换成时间元组(北京当前时区,比标准多8小时)
print(time.mktime(time.localtime()))#把时间元组转换成时间戳
print(time.strftime("%Y-%m-%d %H:%M:%S"))#将时间元组转换成格式化输出的字符串
print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#将格式化的时间转换成时间元组
print(time.struct_time)#时间元组
print(time.asctime())#时间元转换成格式化时间
print(time.ctime())#时间戳转换成格式化时间
print(datetime.datetime.now())#当然时间格式化输出
print(datetime.datetime.now()+datetime.timedelta(3))#3天后的时间
print(datetime.datetime.now()+datetime.timedelta(-3))#3天前的时间
def timestampToStr(time_strmp,format='%Y%m%d%H%M%S'):#时间戳格式化好的时间
cur_time=time.localtime(time_strmp)
res=time.strftime(format,cur_time)
return res
def strToTimestamp(time_st,format='%Y%m%d%H%M%S'):#格式化好的时间转时间戳
t = time.strftime(time_st, format)
res =time.mktime(t)
return res
print(timestampToStr(202020))
print(strToTimestamp("20160204","%Y%m%d"))
三、加密模块
import hashlib
'''md5'''
a='HHh'
m = hashlib.md5()
bytes_a=a.encode()#加密不能传字符串,要输入二进制类型
m.update(bytes_a)#加密
print(m.hexdigest())#加密后的结果,Md5不可逆,不能被解密
def Md5_psw(st:str):#限定了入参的类型
m = hashlib.md5()
bytes_st=st.encode()
m.update(bytes_st)
return m.hexdigest()
res=Md5_psw('hhh')
print(res)
'''shal'''
hash = hashlib.sha1()
print(hash.hexdigest())
'''sha266'''
hash = hashlib.sha256()
print(hash.hexdigest())
'''sha384'''
hash = hashlib.sha384()
print(hash.hexdigest())
'''sha512'''
hash = hashlib.sha512()
print(hash.hexdigest())
'''base64'''
import base64
a='ahha'
r=a.encode()#字符串变成二进制
res=base64.b64encode(r)#base64编码
print(res.decode())#转成字符串
print(base64.b64encode(res.decode()))
四、json的处理
import json
#json串就是字符串。
d = {
'car':{'color':'red','price':100,'count':50},
'挨粪叉':{'color':'red','price':100,'count':50},
'挨粪叉1':{'color':'red','price':100,'count':50},
'挨粪叉2':{'color':'red','price':100,'count':50},
'挨粪叉3':{'color':'red','price':100,'count':50},
'挨粪叉4':{'color':'red','price':100,'count':50},
} res = json.dumps(d,indent=8,ensure_ascii=False) #把list、字典转成json,indent多少缩进,ensure_ascii可以显示中文
f1 = open('f1','w',encoding='utf-8')
f1.write(res) f1 = open('f1',encoding='utf-8')
res = f1.read()
dict_res = json.loads(res) #把json串变成python的数据类型
print(dict_res) f1 = open('f1','w',encoding='utf-8')
json.dump(d,f1,ensure_ascii=False,indent=4)
#自动帮你写入文件,第一个参数是数据,第二个是文件对象 f1 = open('f1',encoding='utf-8')
print(json.load(f1))
#自动帮你读文件。
python学习笔记(六)— 模块的更多相关文章
- Python学习笔记六
Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- Python学习笔记—itertools模块
这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较 ...
- python学习笔记_week5_模块
模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...
- python学习笔记(八)-模块
大型python程序以模块和包的形式组织.python标准库中包含大量的模块.一个python文件就是一个模块.1.标准模块 python自带的,不需要你安装的2.第三方模块 需要安装,别人提供的. ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python学习笔记1—模块
模块的使用 引用模块的两种形式 形式一: import module_name 形式二: from module1 import module11 (module11是module的子模块) 例: ...
- Python学习笔记2——模块的发布
1.为模块nester创建文件夹nester,其中包含:nester.py(模块文件): """这是"nester.py"模块,提供了一个名为prin ...
- python学习笔记十——模块与函数
第五章 模块与函数 5.1 python程序的结构 函数+类->模块 模块+模块->包 函数+类+模块+包=Python pyth ...
- Python学习笔记14—模块
在python中所有的模块都被加入到了sys.path中,用下面的方法可以看见模块的位置. >>> import sys >>> import pprint > ...
随机推荐
- 一款基于jquery的喜欢动画按钮
今天给大家带来一款基于jquery的喜欢动画按钮.这个实例中给了三种动画特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <p class='heading'> C ...
- openvpn 移植之buildroot添加相关选项
openvpn 移植第一步,在buildroot 内添加 openssl ,openvpn , 另外还有一个 RSA 的支持,我不确定这个需要程度如何,但是也添加进去了. buildroot 添加相关 ...
- 基于Xilinx的Synthesize
所谓综合.就是讲HDL语言.原理图等设计输入翻译成由与.或.非们和RAM.触发器登记本逻辑单元的逻辑连接(即网表).并依据目标和要求(约束条件)优化生成的逻辑连接. ISE-XST XST是Xilin ...
- Java运行结果测试
- DP - 字符混编
字符混编 Problem's Link ---------------------------------------------------------------------------- Mea ...
- Linux - Windows10连接linux服务器
当我们通过windows连接服务器时,大多数用的是ssh客户端软件,推荐使用ssh,安全系数比较高.下面介绍用telnet连接服务器. 客户端:C:\Users\dell>systeminfo主 ...
- Spring Cloud都做了哪些事
Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都可以用 ...
- RAII in C++
在C++中,如果对一个块直接分配资源,而且在释放资源之前发生异常,那么这些资源在栈展开(注1)期间将不会得到释放.例如,一个块可以通过调用new动态分配内存,如果该块因异常退出,编译器将不会删除该指针 ...
- HDU 1284 钱币兑换问题(全然背包:入门题)
HDU 1284 钱币兑换问题(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1284 题意: 在一个国家仅有1分,2分.3分硬币,将钱N ( ...
- cocos2d怎么设置屏幕朝向?横屏 or 竖屏设置
在cocos引擎里面找了好久.没找到相关接口,网上也搜索了好久,最后发现.原来须要依据各个平台分别进行设置. android 改动项目根文件夹 proj.android\AndroidManifest ...