摘要:是否則檢驗(yàn)指定的對象是否存在。由于的模塊實(shí)現(xiàn)主要調(diào)用庫,所以各個平臺可能有所不同。時間格式時間戳的方式通常來說,時間戳是指格林威治時間年月日時分秒北京時間年月日時分秒起至現(xiàn)在的總秒數(shù)。元組方式元組共有個元素,返回的函數(shù)主要有,,。
os模塊
os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù)。當(dāng)os模塊被導(dǎo)入后,它會自適應(yīng)于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進(jìn)行相應(yīng)的操作,在python編程時,經(jīng)常和文件、目錄打交道,所以離不了os模塊
常用os命令 os.namename顧名思義就是"名字",這里的名字是指操作系統(tǒng)的名字,主要作用是判斷目前正在使用的平臺,并給出操作系統(tǒng)的名字,如Windows 返回 "nt"; Linux 返回"posix"。注意該命令不帶括號。
os.getcwd()全稱應(yīng)該是"get current work directory",獲取當(dāng)前工作的目錄,如:返回結(jié)果為:""E:python資料python-teavhday17""。注意該命令帶括號,除了第一個命令不帶括號之外,以下命令基本都帶括號。
os.listdir(path)列出path目錄下所有的文件和目錄名。以列表的形式全部列舉出來,其中沒有區(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è)_批量更新商品價格.py", "09_json模塊.py", "10_獲取IP對應(yīng)的地理位置.py", "Book1.xlsx", "date.txt", "Excel應(yīng)用參考", "json.txt", "produceSales.xlsx"]os.path命令
os.path.isfile(path)——判斷指定對象是否為文件。是返回True,否則False
os.path.isdir(path)——判斷指定對象是否為目錄。是True,否則False
os.path.exists(path)——檢驗(yàn)指定的對象是否存在。是True,否則False
os.path.split(path)——返回路徑的目錄和文件名,即將目錄和文件名分開,而不是一個整體。此處只是把前后兩部分分開而已。就是找最后一個"/"。
os.path.abspath()——獲得絕對路徑
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) #輸出時間戳:1536580746.5799537 tuple_time = time.localtime(ctime) #將時間戳變成元組時間,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(),否則中文字符會亂碼 f.write("%s的修改日期是%s年%s月%s日" %(filename,year,month,day))time模塊
在Python中,通常有這幾種方式來表示時間:1)時間戳 2)格式化的時間字符串 3)元組(struct_time)共九個元素。由于Python的time模塊實(shí)現(xiàn)主要調(diào)用C庫,所以各個平臺可能有所不同。
UTC(Coordinated Universal Time)即格林威治天文時間,為世界標(biāo)準(zhǔn)時間。中國北京為UTC+8。
DST(Daylight Saving Time)即夏令時。
時間戳(timestamp)的方式:通常來說,時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現(xiàn)在的總秒數(shù)。我們運(yùn)行“type(time.time())”,返回的是float類型。返回時間戳方式的函數(shù)主要有time(),clock()等。
>>import time >>time.time() 1536645999.1539526
元組(struct_time)方式:struct_time元組共有9個元素,返回struct_time的函數(shù)主要有g(shù)mtime(),localtime(),strptime()。
元組時間元素如下:
>>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)
字符串時間
>>import time >>time.ctime "Tue Sep 11 14:04:52 2018"時間格式的相互轉(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 #把元組時間轉(zhuǎn)換成時間戳 print(time.mktime(tuple_time)) #把元組時間轉(zhuǎn)換成字符串時間 # strftime(format[, tuple]) -> string print(time.strftime("%Y-%m-%d-%H-%M-%S"))#指定格式 #把字符串時間轉(zhuǎn)換成元組時間 print(time.strptime("2018-9-10","%Y-%m-%d"))#指定格式datetime模塊
time模塊主要用于時間訪問和轉(zhuǎn)換,這個模塊提供了各種與時間相關(guān)的函數(shù)。但不是所有方法在任意平臺中有效。
datetime模塊提供了處理日期和時間的類,既有簡單的方式,又有復(fù)雜的方式。它雖然支持日期和時間算法,但其實(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ū)時間,并以字符串格式顯示2018-09-11 15:04:25.317120 now_time = datetime.now() #返回指定時區(qū)日期時間的datetime對象,如果不指定tz參數(shù)則結(jié)果同上 delta = timedelta(days=3) #增減或減少一個delta print(now_time-delta) #返回三天前的時間,2018-09-08 15:07:11.904546綜合應(yīng)用
實(shí)現(xiàn)對系統(tǒng)的監(jiān)控
# 1. 獲取當(dāng)前主機(jī)信息, 包含操作系統(tǒng)名, 主機(jī)名, 內(nèi)核版本, 硬件架構(gòu)等 # 2. 獲取開機(jī)時間和開機(jī)時長 # 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ī)時間".center(50, "*")) boot_time = psutil.boot_time() #時間戳,1536040894.0 #datetime對象,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]] #fromtimestamp,根據(jù)指定的時間戳創(chuàng)建一個datetime對象 boot_time = datetime.datetime.fromtimestamp(boot_time) #2018-09-04 14:01:34 now_time = datetime.datetime.now() #同一類型 delta_time = now_time-boot_time #獲取時間差 delta_time = str(delta_time).split(".")[0] print(""" 開機(jī)時間: %s 當(dāng)前時間: %s 開機(jī)時長: %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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/42407.html
摘要:將用戶登陸信息綁定數(shù)據(jù)庫要求將用戶登陸時的信息,發(fā)送至后臺與數(shù)據(jù)庫進(jìn)行比對,來判斷用戶是否可登陸文件,用來創(chuàng)建遠(yuǎn)程連接的類主程序創(chuàng)建連接判斷用戶名是否存在返回的是語句查詢結(jié)果的個數(shù)如果為,沒有查到。 將用戶登陸信息綁定數(shù)據(jù)庫 要求將用戶登陸時的信息,發(fā)送至后臺與數(shù)據(jù)庫進(jìn)行比對,來判斷用戶是否可登陸 #config.py文件,用來創(chuàng)建遠(yuǎn)程連接的類 class DB: HOST =...
摘要:網(wǎng)頁顯示數(shù)據(jù)庫信息使用我們剛學(xué)習(xí)的,在網(wǎng)頁中顯示數(shù)據(jù)庫表中的數(shù)據(jù)。在開始運(yùn)行程序前,確保數(shù)據(jù)庫中執(zhí)行過創(chuàng)建表和創(chuàng)建用戶的操作,詳見鏈接描述。 網(wǎng)頁顯示數(shù)據(jù)庫信息 使用我們剛學(xué)習(xí)的flask_sqlalchemy,在網(wǎng)頁中顯示數(shù)據(jù)庫表中的數(shù)據(jù)。在開始運(yùn)行程序前,確保數(shù)據(jù)庫中執(zhí)行過創(chuàng)建表和創(chuàng)建用戶的操作,詳見鏈接描述。 # 模板文件templates/list.html {% extend...
閱讀 1748·2021-10-18 13:30
閱讀 2639·2021-10-09 10:02
閱讀 2975·2021-09-28 09:35
閱讀 2101·2019-08-26 13:39
閱讀 3533·2019-08-26 13:36
閱讀 1961·2019-08-26 11:46
閱讀 1146·2019-08-23 14:56
閱讀 1704·2019-08-23 10:38