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

 

posted on 2019-01-14 22:43  mlllily  阅读(205)  评论(0编辑  收藏  举报