成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python大佬的養(yǎng)成計(jì)劃----os,datetime,time模塊補(bǔ)充

frank_fun / 3539人閱讀

摘要:是否則檢驗(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.name

name顧名思義就是"名字",這里的名字是指操作系統(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í)間格式

時(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

相關(guān)文章

  • python大佬養(yǎng)成計(jì)劃----flask應(yīng)用

    摘要:將用戶登陸信息綁定數(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 =...

    daryl 評(píng)論0 收藏0
  • python大佬養(yǎng)成計(jì)劃----基于flask_sqlalchemy網(wǎng)頁(yè)顯示數(shù)據(jù)庫(kù)信息

    摘要:網(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...

    cppowboy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<