摘要:是否則檢驗(yàn)指定的對(duì)象是否存在。由于的模塊實(shí)現(xiàn)主要調(diào)用庫(kù),所以各個(gè)平臺(tái)可能有所不同。時(shí)間格式時(shí)間戳的方式通常來(lái)說(shuō),時(shí)間戳是指格林威治時(shí)間年月日時(shí)分秒北京時(shí)間年月日時(shí)分秒起至現(xiàn)在的總秒數(shù)。元組方式元組共有個(gè)元素,返回的函數(shù)主要有,,。
os模塊
os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù)。當(dāng)os模塊被導(dǎo)入后,它會(huì)自適應(yīng)于不同的操作系統(tǒng)平臺(tái),根據(jù)不同的平臺(tái)進(jìn)行相應(yīng)的操作,在python編程時(shí),經(jīng)常和文件、目錄打交道,所以離不了os模塊
常用os命令 os.namename顧名思義就是"名字",這里的名字是指操作系統(tǒng)的名字,主要作用是判斷目前正在使用的平臺(tái),并給出操作系統(tǒng)的名字,如Windows 返回 "nt"; Linux 返回"posix"。注意該命令不帶括號(hào)。
os.getcwd()全稱應(yīng)該是"get current work directory",獲取當(dāng)前工作的目錄,如:返回結(jié)果為:""E:python資料python-teavhday17""。注意該命令帶括號(hào),除了第一個(gè)命令不帶括號(hào)之外,以下命令基本都帶括號(hào)。
os.listdir(path)列出path目錄下所有的文件和目錄名。以列表的形式全部列舉出來(lái),其中沒有區(qū)分目錄和文件。
>>import os >>os.listdir() [".idea", "01_os模塊補(bǔ)充.py", "02_time模塊詳解.py", "03_datetime模塊詳解.py", "04_應(yīng)用案例_系統(tǒng)監(jiān)控.py", "05_namedtupled新型數(shù)據(jù)類型.py", "06_python與Excel.py", "07_excel需求.py", "08_今日作業(yè)_批量更新商品價(jià)格.py", "09_json模塊.py", "10_獲取IP對(duì)應(yīng)的地理位置.py", "Book1.xlsx", "date.txt", "Excel應(yīng)用參考", "json.txt", "produceSales.xlsx"]os.path命令
os.path.isfile(path)——判斷指定對(duì)象是否為文件。是返回True,否則False
os.path.isdir(path)——判斷指定對(duì)象是否為目錄。是True,否則False
os.path.exists(path)——檢驗(yàn)指定的對(duì)象是否存在。是True,否則False
os.path.split(path)——返回路徑的目錄和文件名,即將目錄和文件名分開,而不是一個(gè)整體。此處只是把前后兩部分分開而已。就是找最后一個(gè)"/"。
os.path.abspath()——獲得絕對(duì)路徑
os.path.basename(path)——返回文件名
os模塊示例 查看文件修改日期#查看D:/python_need/data文件的修改日期 #并保存到當(dāng)前目錄下的"date.txt"文件中 import os import time import codecs filename = "D:python_needdata.txt" ctime = os.path.getctime(filename) #輸出時(shí)間戳:1536580746.5799537 tuple_time = time.localtime(ctime) #將時(shí)間戳變成元組時(shí)間,time.struct_time(tm_year=2018, tm_mon=9, tm_mday=10, tm_hour=19, tm_min=59, tm_sec=6, tm_wday=0, tm_yday=253, tm_isdst=0) year = tuple_time.tm_year month = tuple_time.tm_mon day = tuple_time.tm_mday with codecs.open("date.txt","w","utf-8") as f: #打開方式一定要使用codecs.open(),否則中文字符會(huì)亂碼 f.write("%s的修改日期是%s年%s月%s日" %(filename,year,month,day))time模塊
在Python中,通常有這幾種方式來(lái)表示時(shí)間:1)時(shí)間戳 2)格式化的時(shí)間字符串 3)元組(struct_time)共九個(gè)元素。由于Python的time模塊實(shí)現(xiàn)主要調(diào)用C庫(kù),所以各個(gè)平臺(tái)可能有所不同。
UTC(Coordinated Universal Time)即格林威治天文時(shí)間,為世界標(biāo)準(zhǔn)時(shí)間。中國(guó)北京為UTC+8。
DST(Daylight Saving Time)即夏令時(shí)。
時(shí)間戳(timestamp)的方式:通常來(lái)說(shuō),時(shí)間戳是指格林威治時(shí)間1970年01月01日00時(shí)00分00秒(北京時(shí)間1970年01月01日08時(shí)00分00秒)起至現(xiàn)在的總秒數(shù)。我們運(yùn)行“type(time.time())”,返回的是float類型。返回時(shí)間戳方式的函數(shù)主要有time(),clock()等。
>>import time >>time.time() 1536645999.1539526
元組(struct_time)方式:struct_time元組共有9個(gè)元素,返回struct_time的函數(shù)主要有g(shù)mtime(),localtime(),strptime()。
元組時(shí)間元素如下:
>>import time >>time.localtime() time.struct_time(tm_year=2018, tm_mon=9, tm_mday=11, tm_hour=14, tm_min=7, tm_sec=31, tm_wday=1, tm_yday=254, tm_isdst=0)
字符串時(shí)間
>>import time >>time.ctime "Tue Sep 11 14:04:52 2018"時(shí)間格式的相互轉(zhuǎn)換
import time str_time = time.ctime()#Tue Sep 11 14:10:43 2018 tuple_time = time.localtime()#time.struct_time(tm_year=2018, tm_mon=9, tm_mday=11, tm_hour=14, tm_min=11, tm_sec=27, tm_wday=1, tm_yday=254, tm_isdst=0) timestamp = time.time()#1536646330.1479473 #把元組時(shí)間轉(zhuǎn)換成時(shí)間戳 print(time.mktime(tuple_time)) #把元組時(shí)間轉(zhuǎn)換成字符串時(shí)間 # strftime(format[, tuple]) -> string print(time.strftime("%Y-%m-%d-%H-%M-%S"))#指定格式 #把字符串時(shí)間轉(zhuǎn)換成元組時(shí)間 print(time.strptime("2018-9-10","%Y-%m-%d"))#指定格式datetime模塊
time模塊主要用于時(shí)間訪問和轉(zhuǎn)換,這個(gè)模塊提供了各種與時(shí)間相關(guān)的函數(shù)。但不是所有方法在任意平臺(tái)中有效。
datetime模塊提供了處理日期和時(shí)間的類,既有簡(jiǎn)單的方式,又有復(fù)雜的方式。它雖然支持日期和時(shí)間算法,但其實(shí)現(xiàn)的重點(diǎn)是為輸出格式化和操作提供高效的屬性提取功能。
datetime模塊中定義的類
from datetime import time from datetime import datetime from datetime import timedelta today_time = datetime.today() #獲取當(dāng)前本區(qū)時(shí)間,并以字符串格式顯示2018-09-11 15:04:25.317120 now_time = datetime.now() #返回指定時(shí)區(qū)日期時(shí)間的datetime對(duì)象,如果不指定tz參數(shù)則結(jié)果同上 delta = timedelta(days=3) #增減或減少一個(gè)delta print(now_time-delta) #返回三天前的時(shí)間,2018-09-08 15:07:11.904546綜合應(yīng)用
實(shí)現(xiàn)對(duì)系統(tǒng)的監(jiān)控
# 1. 獲取當(dāng)前主機(jī)信息, 包含操作系統(tǒng)名, 主機(jī)名, 內(nèi)核版本, 硬件架構(gòu)等 # 2. 獲取開機(jī)時(shí)間和開機(jī)時(shí)長(zhǎng) # 3. 獲取當(dāng)前登陸用戶 #win下沒有os.uname()用法 #解決方案,使用platform.uname() import platform import time import psutil import datetime info =platform.uname() #uname_result(system="Windows", node="DESKTOP-EN0LQJH", release="10", version="10.0.16299", machine="AMD64", processor="Intel64 Family 6 Model 142 Stepping 10, GenuineIntel") print("1. 主機(jī)信息".center(50, "*")) print(""" 操作系統(tǒng): %s, 主機(jī)名: %s, 內(nèi)核版本: %s, 硬件架構(gòu): %s """ %(info.system, info.node, info.release, info.machine)) print("2. 開機(jī)時(shí)間".center(50, "*")) boot_time = psutil.boot_time() #時(shí)間戳,1536040894.0 #datetime對(duì)象,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]] #fromtimestamp,根據(jù)指定的時(shí)間戳創(chuàng)建一個(gè)datetime對(duì)象 boot_time = datetime.datetime.fromtimestamp(boot_time) #2018-09-04 14:01:34 now_time = datetime.datetime.now() #同一類型 delta_time = now_time-boot_time #獲取時(shí)間差 delta_time = str(delta_time).split(".")[0] print(""" 開機(jī)時(shí)間: %s 當(dāng)前時(shí)間: %s 開機(jī)時(shí)長(zhǎng): %s """ %(boot_time,now_time, delta_time)) print("3. 當(dāng)前登陸用戶".center(50, "*")) # 獲取當(dāng)前登陸用戶的詳細(xì)信息, 需求是獲取用戶名和登陸主機(jī) users = psutil.users() #[suser(name="Sheen_Star", terminal=None, host="0.4.0.0", started=1536585663.0, pid=None)] users = {"%s %s" %(user.name, user.host) for user in users} #集合實(shí)現(xiàn)數(shù)據(jù)去重 for user in users: print(" 當(dāng)前登錄用戶有: %s" %(user))
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42407.html
摘要:將用戶登陸信息綁定數(shù)據(jù)庫(kù)要求將用戶登陸時(shí)的信息,發(fā)送至后臺(tái)與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),來(lái)判斷用戶是否可登陸文件,用來(lái)創(chuàng)建遠(yuǎn)程連接的類主程序創(chuàng)建連接判斷用戶名是否存在返回的是語(yǔ)句查詢結(jié)果的個(gè)數(shù)如果為,沒有查到。 將用戶登陸信息綁定數(shù)據(jù)庫(kù) 要求將用戶登陸時(shí)的信息,發(fā)送至后臺(tái)與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),來(lái)判斷用戶是否可登陸 #config.py文件,用來(lái)創(chuàng)建遠(yuǎn)程連接的類 class DB: HOST =...
摘要:網(wǎng)頁(yè)顯示數(shù)據(jù)庫(kù)信息使用我們剛學(xué)習(xí)的,在網(wǎng)頁(yè)中顯示數(shù)據(jù)庫(kù)表中的數(shù)據(jù)。在開始運(yùn)行程序前,確保數(shù)據(jù)庫(kù)中執(zhí)行過(guò)創(chuàng)建表和創(chuàng)建用戶的操作,詳見鏈接描述。 網(wǎng)頁(yè)顯示數(shù)據(jù)庫(kù)信息 使用我們剛學(xué)習(xí)的flask_sqlalchemy,在網(wǎng)頁(yè)中顯示數(shù)據(jù)庫(kù)表中的數(shù)據(jù)。在開始運(yùn)行程序前,確保數(shù)據(jù)庫(kù)中執(zhí)行過(guò)創(chuàng)建表和創(chuàng)建用戶的操作,詳見鏈接描述。 # 模板文件templates/list.html {% extend...
閱讀 1745·2021-10-18 13:30
閱讀 2636·2021-10-09 10:02
閱讀 2972·2021-09-28 09:35
閱讀 2099·2019-08-26 13:39
閱讀 3532·2019-08-26 13:36
閱讀 1960·2019-08-26 11:46
閱讀 1144·2019-08-23 14:56
閱讀 1703·2019-08-23 10:38