19 python初学(os 模块,sys 模块,hashlib 模块)
os 模块:
# _author: lily
# _date: 2019/1/13 import os print(os.getcwd()) # 得到当前的工作目录
# print(os.chdir(r'D:\Program Files')) #改变当前的工作目录
# 这里 r 的意思是所有字符都是原生字符,避免转义
print(os.curdir) # .
print(os.pardir) # ..
# os.mkdir('abc') # 只能生成一个目录,不能生成嵌套的形式
# os.mkdir('abc\\lily') # 因为abc已经有了,所以会创建单个目录lily
# os.rmdir('abc\\lily') # 只会删除最底层的 lily 目录
# os.makedirs('abc\\lily') # 生成文件夹,如果不是绝对路径会在当前目录下进行创建
# os.removedirs('abc\\lily') # 只能删除空文件
# os.remove('test.py') # remove 只能删除文件,不能删除文件夹 # 把此目录下的所有文件及文件夹展示出来,放进一个列表中
os.listdir(r'D:\Program Files\pycharm\PycharmProjects\learn\start') os.rename('abc', 'abcd') #改名
info = os.stat('.\\abc') # 获取文件、目录信息
print(info.st_size) # 得到文件大小
print(info.st_atime) # atime:最后一次访问的时间 # os.sep 得到当前系统的分隔符
s = os.sep # windows 下使用 \ 拼接路径。 linux 使用 /拼接路径
os.linesep # 得到当前系统的换行符 windows换行符: \r\n linux换行:\n mac换行: \r
print(os.pathsep)# windows 路径分隔符: ; linux 路径分隔符: :
print(os.system('dir')) # 执行 shell 命令
os.path.abspath('./abc') #传入相对路径,得到绝对路径
print(os.path.split(r'D:\Program Files\pycharm\PycharmProjects\learn\start')) # 分出路径和文件名
print(os.path.dirname(r'D:\Program Files\pycharm\PycharmProjects\learn\start')) # 返回 path 的目录,其实就是os.path.split的第一个元素
# os.path.basename(path) 返回 path 最后的文件名,如果path以 \ 或 / 结尾,就会返回空值
# os.path.exists(path) 如果path存在,则返回true。否则返回false
# os.path.isabs(path) 判断是不是绝对路径
# os.path.isfile(path) 如果path是一个存在的文件,返回true
# os.path.isdir(path) 如果path是一个存在的目录,返回true # os.path.join([a,b]) 路径拼接
# os.path.getatime(path) # 返回path执行的文件或目录最后的访问时间
# os.path.getmtime(path) # 返回path执行的文件或目录最后的修改时间
sys 模块:跟 python 解释器进行交互
# _author: lily
# _date: 2019/1/14 # 跟 python 解释器进行交互
#sys.argv 命令行参数 list ,第一个元素是程序路径本身
import sys # print(sys.argv)
#
#
# def post():
# print('post')
#
#
# def download():
# print('download')
#
#
# if sys.argv[1] == 'post':
# post()
#
# elif sys.argv[1] == 'download':
# download() import time
print(sys.path) # 返回模块的搜索路径
# ['D:\\Program Files\\pycharm\\PycharmProjects\\learn\\start', 'D:\\Program Files\\pycharm\\PycharmProjects\\learn', 'D:\\Program Files\\Python37\\python37.zip', 'D:\\Program Files\\Python37\\DLLs', 'D:\\Program Files\\Python37\\lib', 'D:\\Program Files\\Python37', 'D:\\Program Files\\Python37\\lib\\site-packages', 'D:\\Program Files\\pycharm\\PyCharm 2018.3.1\\helpers\\pycharm_matplotlib_backend'] print(sys.platform) # 返回当前平台名称
hashlib 模块,加密算法,md5 和 sha256
# _author: lily
# _date: 2019/1/14
# 加密,是不可逆的
import hashlib m = hashlib.md5()
print(m) m.update('hello world'.encode('utf8')) # update 的参数只接受 byte 类型
print(m.hexdigest()) #把转换结果取出来: 5eb63bbbe01eeed093cb22bb8f5acdc3 m.update('lily'.encode('utf8'))
print(m.hexdigest())
# 此时取出的转换结果和上面的有关系 e8e7c773a384b67bba38f225aacc3592
# 关系是: 是和上面的 hello word拼接起来的字符串 'hello wordlily'进行加密后的结果 m1 = hashlib.md5()
m1.update('hello worldlily'.encode('utf8'))
print(m1.hexdigest()) # e8e7c773a384b67bba38f225aacc3592 # sha 系列加密算法,最常用的是 256.
s = hashlib.sha256()
s.update('hello world'.encode('utf8'))
print(s.hexdigest()) # b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
19 python初学(os 模块,sys 模块,hashlib 模块)的更多相关文章
- python 正则,os,sys,hashlib模块
简单的小算法 random随机获取数据 import random def getrandata(num): a=[] i= while i<num: a.append(random.randi ...
- python之os、sys和random模块
import os # print(os.getcwd())#获取当前目录,绝对路径# print(os.chdir('../'))#更改当前目录,../的意思是退回上一级目录# print(os.g ...
- python之序列化、OS、SYS、hashlib模块
一.序列化模块 1.序列化模块的用途 将一种数据结构转换成特殊的序列(特殊字符串,bytes),并且还可以转换回去 凡是数据通过网络传出去最终的格式必须bytes 2.json模块 json 是一种轻 ...
- Python中os和sys模块中常用的方法
os模块 os模块:该模块提供了一些方便使用操作系统相关功能的函数 os.remove() 删除文件 os.rename() 重命名文件 os.walk() 文件目录遍历器 os.chdir() 改变 ...
- Python中os与sys两模块的区别
<os和sys的官方解释> ➤os os: This module provides a portable way of using operating system dependent ...
- Python中os与sys模块的区别
os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...
- python中os和sys模块
os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境. os 常用方法 os.rem ...
- Python 的 os 与 sys 模块
os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...
- 日志模块详细介绍 hashlib模块 动态加盐
目录 一:hashlib模块 二:logging 一:hashlib模块 加密: 将明文数据通过一系列算法变成密文数据(目的就是为了数据的安全) 能够做文件一系列校验 python的hashlib提供 ...
随机推荐
- 使用docker-compose来部署开发环境
docker-compose的作用 docker-comopse可以帮助我们快速搭建起开发环境,比如你可以去把redis,mongodb,rabbitmq,mysql,eureka,configser ...
- (五)通过Python的select监控多个描述符实现并发连接
概述 本文通过使用select改写之前的服务器程序通过监控多个套接字描述符来实现并发连接并加入了一些机制让程序更加健壮,不过我们所有的实验都是建立在单词发送数据不会超过1024字节,如果超过你需要做特 ...
- MySQL8.0.12 安装及配置、读写分离,主从复制
一.安装 1.从网上下载MySQL8.0.12版本,下载地址:https://dev.mysql.com/downloads/mysql/ 2. 下载完成后解压 我解压的路径是:D:\Java\mys ...
- RabbitMQ消息队列(二)-RabbitMQ消息队列架构与基本概念
没错我还是没有讲怎么安装和写一个HelloWord,不过快了,这一章我们先了解下RabbitMQ的基本概念. RabbitMQ架构 说是架构其实更像是应用场景下的架构(自己画的有点丑,勿嫌弃) 从图中 ...
- 在Flutter中嵌入Native组件的正确姿势是...
引言 在漫长的从Native向Flutter过渡的混合工程时期,要想平滑地过渡,在Flutter中使用Native中较为完善的控件会是一个很好的选择.本文希望向大家介绍AndroidView的使用方式 ...
- jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递
前述:jquery中: 当一个元素的点击事件被触发时,会自动将该事件向父级元素逐级专递. 但是实际场景当中,我们可能会遇到需要在父级元素中定义点击事件,来触发特定子元素的点击事件,我就遇到了这么一个问 ...
- windows10 php7安装mongodb 扩展
系统环境:win10家庭版Phpstudy2016 php7 1. 打开phpinfo 查看 nts(非线程) 还是 ts (线程),然后查看操作位数 注: 86 等于 32 位 ,和你的windo ...
- Java开发笔记(七十五)异常的处理:扔出与捕捉
前面介绍的几种异常(不包含错误),编码的时候没认真看还发现不了,直到程序运行到特定的代码跑不下去了,程序员才会恍然大悟:原来这里的代码逻辑有问题.像这些在运行的时候才暴露出来的异常,又被称作“运行时异 ...
- tf.nn.conv2d。卷积函数
tf.nn.conv2d是TensorFlow里面实现卷积的函数,参考文档对它的介绍并不是很详细,实际上这是搭建卷积神经网络比较核心的一个方法,非常重要 tf.nn.conv2d(input, fil ...
- 为什么选择 Intellij IDEA 作为日常开发工具
作为一个从事 Java 开发的程序员,每天离不开编辑器的帮助.还记得刚开始学习 Java 编程的时候,使用 Eclipse 作为日常开发工具.后来工作以后,需要使用 Intellij IDEA,刚开始 ...