---恢復內容開始---關鍵字參數/可變參數python
知識點1、內置函數mysql
def send_msm2(*args): #可變參數,參數組
print('phone',args)
send_msm2()#返回值爲元組
def send_msm2(*args): #可變參數,參數組
print('phone',args)
send_msm2(110, 113, 333)
#參數組不能用word= "haha "這樣的形式,直接傳
def say(word,*args):
print(word)
print(args)
say('nihao',34444,666)
#關鍵字參數 傳參格式 key = value
def kwfun(**kwargs):
print(kwargs)
kwfun()#空字典
def kwfun(**kwargs):
print(kwargs)
kwfun()#空字典
kwfun('222')
def kwfun(**kwargs):
print(kwargs)
kwfun()#空字典
kwfun(age = '123')
kwfun(age = '123',name = 'xiaohei')
def t1(word,country = 'china',*args,**kwargs):#(必填參數,默認值參數,參數組,關鍵字參數)必須定義這4個類型參數,順序要固定
print(word)
print(country)
print(args)#沒有認領的參數都給參數組
print(kwargs)
t1('hah','japan',134,333,name = 'dde',age = 44)
def redis(ip,pwd,post = 5666):
print('鏈接redis')
print(ip)
print(post)
print(pwd)
print('='*10)
redis('127.0.0.01','23344')
def redis(ip,pwd,post = 5666):
print('鏈接redis')
print(ip)
print(post)
print(pwd)
print('='*10)
redis_info = ('127.0.0.1','12356',777)
redis(redis_info[0],redis_info[1],redis_info[2])
redis(*redis_info)#拆包,自動把元組拆開,意義同前兩條代碼
def redis(ip,pwd,post = 5666):android
print('鏈接redis')
print(ip)
print(post)
print(pwd)
print('='*10)
redis_info2 = {'ip':'127.0.0.1','pwd' : '5667','post' : 444}
redis(redis_info2['ip'],redis_info2['pwd'],redis_info2['post'])
redis(**redis_info2)#可替代上兩條代碼
知識點2、內置函數ios
#coding=utf-8
# input()
# print()
# len()
# type()
# str()
# tuple()
# set()
# dict()
# list()
l='asdfgwert3r'
# sorted(l) #排序
# print(all([1,2,3,4,'']))#若是li
# print(any([0,0,0,1]))#判斷可迭代的對
# print(bin(10))#十進制轉二進制
# print(bool(0))#把一個對象轉換成布爾類型
# print(chr(66))#打印數字對應的ascii
# print(ord('B'))#打印字符串對應的ascii
# print(dict(a=1,b=2))#轉換字典
#s='a'
# print(dir(s))#打印傳入對象的可調用方法
s = '[1,2,3]'
print(eval(s))#執行python代碼,只能執行簡單的,定義數據類型和運算 ,1+1,定義字典
# print(exec('def a():pass'))#執行python代碼
# print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把後面的迭代對象根據前面的方法
# print(map(lambda x:x>5,[1,2,3,4,5,6]))
#print(max([12,3,4,5]))#取最大值
#min([12,3,4,5])
#print(oct(9))#把數字轉換成8進制
#print(round(3.1415926,3))#取幾位小數
#print(eval('[]'))#執行python代碼,只能執行簡單的,定義數據類型和運算
# print(exec('def a():pass'))#執行python代碼
# print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把後面的迭代對象根據前面的方法
# print(map(lambda x:x>5,[1,2,3,4,5,6]))
#zip()
# func_str = '''
# import time
# def fun():
# return 'func_name'
# '''
# exec(func_str)
# result = fun()
#print(result)
# f = open('做業.py',encoding='utf-8')
# result = f.read()
# exec(result)
# l = [1,2,3,4,5,6,7,8,9,10]
#
# def t(num):
# if num % 2 == 0:
# return True
#l2 = list( filter(t,l) )
# l3 = list( map(t,l) )
# print(l3)
# print(l2)
# l1=[1,2,3,4]
# l2=['a','b','c','d']
# l3=['a','b','c','d','f']
# for k1,k2,k3 in zip(l1,l2,l3):
# print(k1,k2,k3)
知識點3、模塊nginx
一、一個模塊就是一個python文件
一、本身寫的python文件
二、標準模塊,python自帶的
三、第三方模塊
安裝:
pip install xxx #安裝
pip uninstall xx #卸載
pip install xx -U #更新
pip freeze > 第三方模塊.txt #導出已經安裝的第三放模塊
pip install -r 第三方模塊.txt #從文件裏面讀模塊,批量安裝
pip問題:
一、pip命令不存在,把python安裝目錄下的Scripts加入環境變量
二、pip 的時候沒用python目錄下的pip,使用where命令知道其餘的pip,改成其餘名字
手動安裝:
一、whl結尾的
pip install /Users/PyMySQL-0.9.3-py2.py3-none-any.whl #後面whl文件的絕對路徑
二、tar.gz結尾的
一、解壓
二、在命令行裏面進入到解壓的目錄下
三、執行python setup.py installredis
若是電腦上有多個版本的python
一、python3 -m pip install xpinyin
python2 -m pip install xpinyin
二、找到各個版本的下面的scripts目錄,pip各自修改成 pip2 /pip3
導入模塊的順序
一、當前目錄下找
二、sys.pathsql
導入模塊的實質是
import模塊的實質就是把該模塊從上到下執行一遍apache
os模塊json
import os
os.remove()
os.rename()
os.mkdir()#建立文件夾,單層
os.makedirs()#建立文件夾,建立多層目錄
os.listdir(r'Documents\Tencent Files\2273747892\FileRecv\day4')#加r不用轉譯
files = os.listdir(r'C:\Users\yangmingyue\Documents\Tencent Files\2273747892\FileRecv\day4\day4')
print(files)
print(os.path.isdir(r'C:\Users\yangmingyue\Documents\Tencent Files\2273747892\FileRecv\day4\day4'))#判斷是否是文件夾
print(os.path.isfile(r'C:\Users\yangmingyue\Documents\Tencent Files\2273747892\FileRecv\day4\day4'))#判斷是否是文件
os.chdir(r'C:\Users\yangmingyue\Documents\Tencent Files\2273747892\FileRecv\day4\day4')#進入文件
print(os.listdir())#獲取當前文件目錄
print(os.getcwd())#獲取當前路徑
#判斷文件夾仍是文件
# name = '.mp4'
# def search_file(path,name):
# for cur_dir,dirs,files in os.walk(path):
# for file in files:
# if name in file:
# abs_path = os.path.join(cur_dir,file)
# print('找到%s文件,路徑是%s'%(file,abs_path))
#
# search_file('/',name)
result = os.system('ifconfig') #執行操做系統命令,幫你執行命令,拿不到執行命令的結果
#result = os.popen('ifconfig').read()#執行操做系統命令,能夠拿到結果
print('result...',result)
#print(os.getcwd())#獲取當前路徑
# print(os.path.getsize('products.json'))#獲取文件大小
# print(os.path.exists('products.json'))#是否存在
# print(os.path.getatime('products.json'))#最近一次的訪問時間
# print(os.path.getctime('products.json'))#createtime建立時間
# print(os.path.getmtime('products.json'))#modiyftime修改時間
# print(os.path.split(r'/Users/nhy/PycharmProjects/mjz/day4/products.json'))#分割文件路徑和文件名
#print(os.path.dirname(r'/Users/nhy/PycharmProjects/mjz/day4/os模塊.py'))#獲取父目錄
#print(os.path.abspath(__file__))#根據相對路徑獲取絕對路徑 .表明當前目錄,..表明上一級目錄
#os.rmdir()#刪除空文件夾
#os.removedirs()#刪除空文件夾
知識點4、時間模塊
import time,datetime
#2019-10-19 13:23:38
#13245232453
#時間戳 一串數字
#從計算機誕生那一秒到如今過了多少秒
# print(time.time()) #獲取前時間戳
# print(time.strftime('%Y-%m-%d %H:%M:%S'))#當前格式化好的時間
#時間元組
#一、時間戳轉格式化的時間
timestamp = 1571476513
# time_tuple = time.gmtime(timestamp)#以標準時區的時間轉換
time_tuple = time.localtime(timestamp)#以當前時區的時間轉換
result = time.strftime('%Y-%m-%d %H:%M:%S',time_tuple)#格式化時間
print(result)
def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
'''時間戳轉格式化好的時間,默認返回當前時間'''
if timestamp:
time_tuple = time.localtime(timestamp) # 以當前時區的時間轉換
result = time.strftime(format,time_tuple)
else:
result = time.strftime(format)
return result
def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
'''格式化好的字符串轉時間戳,默認返回當前時間戳'''
if string:
time_tuple = time.strptime(string, format) # 格式化好的時間,轉時間元組的
result = time.mktime(time_tuple) # 把時間元組轉成時間戳
else:
result = time.time()
return int(result)
# s = '2019-10-19 17:15:13'
# time_tuple = time.strptime(s,'%Y-%m-%d %H:%M:%S')#格式化好的時間,轉時間元組的
# result = time.mktime(time_tuple)#把時間元組轉成時間戳
# print(result)
t1 = str_to_timestamp() + 60*60*24*3
知識點5、創造日誌
def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'): '''時間戳轉格式化好的時間,若是沒有傳時間戳,就獲取當前的格式化時間''' if timestamp: time_tuple = time.localtime(timestamp) #把時間戳轉成時間元組 result = time.strftime(format,time_tuple) #把時間元組轉成格式化好的時間 return result else: return time.strftime(format)import time,os,randoml = ['ios','android','nginx','tomcat','python','blog','apache','mysql','redis']for i in l: p = os.path.join('logs',i) os.makedirs(p) for j in range(30): t = int(time.time())-86400*j time_str = timestamp_to_str(t,'%Y-%m-%d') log_name = '%s_%s.log'%(i,time_str) abs_file_path = os.path.join('logs',i,log_name) fw = open(abs_file_path, 'w', encoding='utf-8') if random.randint(1,10)%2==0: fw.write('勝多負少防守打法雙方都') fw.close()運行結果就是:當前目錄下生成log文件