1. 程式人生 > >19 python初學(os 模塊,sys 模塊,hashlib 模塊)

19 python初學(os 模塊,sys 模塊,hashlib 模塊)

ren pre 命令行參數 rmp ldl 信息 auth os.path 獲取文件

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(rD:\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(rD:\Program Files\pycharm\PycharmProjects\learn\start)) # 分出路徑和文件名 print(os.path.dirname(rD:\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 模塊)