經常使用模塊 python
random 模塊
import random
print(random.random()) # 隨機浮點數,默認取0-1,不能指定範圍
print(random.randint(1, 20)) # 隨機整數
print(random.randrange(1, 20)) # 隨機產生一個range
print(random.choice([1,2,3,4,5])) # 隨機取一個元素
print(random.sample([1,2,3,4,'6'], 3)) # 從序列中隨機取幾個元素,返回的是一個list
print(random.uniform(1, 88888)) # 隨機取浮點數,能夠指定範圍
x = [1, 2, 3, 4, 5, 6]
random.shuffle(x) # 洗牌,打亂順序,會改變原list的值
import string
print(string.ascii_letters + string.digits) # 全部的數字和字母
print(random.randint(1, 20)) # 隨機整數
print(random.choice([1,2,3,4,5])) # 隨機取一個元素
print(random.sample('hello', 3)) # 從序列中隨機取幾個元素,返回的是一個list
print(random.uniform(1, 88888)) # 隨機取浮點數,能夠指定範圍
x = [1, 2, 3, 4, 5, 6]
random.shuffle(x) # 洗牌,打亂順序,會改變原list的值
print(x)
Json模塊
import json
# json很像python的字典類型,可是json裏面只能是雙引號,不能是單引號,json串實際上就是一個字符串
json_str = """
{
"username": "niuhanyang",
"passwd": 123456,
"flag": true
}
"""
fr = open('users')
json_dic = json.loads(json_str) #json串(字符串)轉成字典,loads方法是把json轉成字典
json_dic_file = json.load(fr) #json串(字符串)轉成字典,load方法是傳入一個文件對象,而後load方法自動去讀這個文件的內容,而後轉成字典
print(json_dic_file)
print(type(json_dic_file))
d = {
"hhh": {
"price": "90000",
"password": "123456"
},
"admin": {
"password": "123456",
"money": 8000
}
}
fw = open('users.json','w')
dic_str = json.dumps(d) #把字典變成json串(字符串)
json.dump(d,fw)
print(dic_str)
print(type(dic_str))
注意:
#json能夠用字典和list, 換言之,字典和list均可以被json序列化,json.loads(str)方法的參數既能夠是字典格式的字符串,也能夠是列表格式的字符串,
當參數是字典格式的字符串時,返回結果是字典;當參數是列表格式的字符串時,返回結果扔是list.
#dump和dumps字典轉json串的
#load和loads是json串轉字典
#帶s就和字符串沾邊,不帶s和文件對象沾邊
os 模塊
import os
print(os.getcwd()) # 獲取當前工做目錄
os.chdir(r"E:\上課\homework\dq-classing") # 更改當前目錄
print(os.getcwd())
os.mkdir("test1") # 在當前路徑下建立空目錄
os.makedirs("test2\test3") # 在當前路徑下建立父子目錄
os.rmdir("test1") # 刪除空目錄,目錄不爲空或目錄不存在報錯
os.removedirs(r"test2\test3") # 刪除目錄裏及其裏面的內容
os.remove(r"test1\a.txt") # 刪除文件
os.rename("test1", "test2") # 目錄重命名
os.rename(r"test2\a.txt", "test2\qqq.txt") # 文件重命名
print(os.sep) # 獲取當前操做系統的路徑分隔符
print(__file__) # 表明當前文件,返回的是當前文件全名(絕對路徑+文件名)
print(os.path.abspath('Beijing')) # 獲取絕對路徑
print(os.path.dirname(__file__)) # 獲取父目錄
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
print(os.path.join("root", "haha", "a.log")) # 拼接成一個路徑
print(os.path.exists("Beijing")) # 判斷某文件或目錄是否存在
print(os.path.exists(r"E:\上課\homework\dq-classing\test2\qqq.txt"))
print(os.path.isfile("Beijing")) # 判斷是不是文件
print(os.path.isdir("test2")) # 判斷是不是文件
sys模塊
import sys
sys.argv # 命令行參數列表,第一個元素是程序自己及路徑
sys.exit("XXX") # 退出程序並顯示字符串,正常退出時 exit(0) 或 exit()
print(sys.version) # 獲取Python解釋程序的版本信息
sys.path # 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量
print(sys.platform) # 返回操做系統平臺的名稱
time 模塊
經常使用的一種是時間戳、一種是格式化時間、一種是時間元組import datetime, timeprint(time.timezone) # 和標準時間相差的時間,單位是sprint(int(time.time())) # 獲取當前時間戳 #時間戳的意思就是從unix元年(1970.1.1),到如今的秒數。print(time.sleep(1)) # 休息幾sprint(time.gmtime()) # 把時間戳轉換成標準時區的時間元組,若是不傳的話,默認取標準時區的時間戳print(time.localtime()) # 把時間戳轉換成當前時區的時間元組,若是不傳的話,默認取當前時區的時間戳print(time.mktime(time.localtime())) # 把時間元組轉換成時間戳print(time.strftime("%Y.%m.%d %H:%M:%S")) # 將當前時間元組轉換成格式化輸出的字符串 # %Y年 %m月份 %d天 %H小時 %M表明是分鐘 %S表明的是秒print(time.strptime("20160204191919", "%Y%m%d%H%M%S")) # 將格式化的時間轉換成時間元組,年月日時分秒同樣也不能少print(time.struct_time) # 時間元組print(time.asctime()) # 時間元組轉換成格式化時間,格式固定爲"Thu Jun 22 10:57:17 2017"print(time.ctime(149776000)) # 時間戳轉換成格式化時間print(datetime.datetime.now()) # 當前時間格式化輸出,格式如 "2017-06-22 11:10:15.976853"print(datetime.datetime.now() + datetime.timedelta(3)) # 3天后的時間print(datetime.datetime.now() + datetime.timedelta(-3)) # 3天前的時間