python—os模块、时间模块
os模塊
作用:os模塊是python標準庫中的一個用于訪問操作系統功能的模塊, os模塊提供了其他操作系統接口,可以實現跨平臺訪問。
使用:
1 . 返回操作系統類型 :os.name
值為:posix 是linux操作系統
值為:nt 是windows操作系統
2 . 操作系統的詳細信息
import osinfo = os.uname() print(info) print(info.sysname) print(info.nodename)運行結果: posix.uname_result(sysname='Linux', nodename='foundation5.ilt.example.com', release='3.10.0-514.el7.x86_64', version='#1 SMP Wed Oct 19 11:24:13 EDT 2016', machine='x86_64') Linux foundation5.ilt.example.com3.系統的環境變量
import osprint(os.environ)通過key值獲取環境變量對應的value值
import os print(os.environ.get('PATH'))運行結果: /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kiosk/.local/bin:/home/kiosk/bin4.判斷是否是絕對路徑
只會判斷路徑,并不會判斷目錄或者文件是否存在
5.生成絕對路徑
import os print(os.path.abspath('hello.png')) print(os.path.join(os.path.abspath('.'),'hello.jpg')) print(os.path.join('/home/kiosk','hello.jpg'))運行結果: home/kiosk/PycharmProjects/20190523/hello.png /home/kiosk/PycharmProjects/20190523/hello.jpg /home/kiosk/hello.jpg6.獲取目錄或文件名
import os filename = '/home/dd/20190523/day06/hello.jpg' print(os.path.basename(filename)) print(os.path.dirname(filename))運行結果: hello.jpg /home/dd/20190523/day067.創建和刪除目錄
os.mkdir()創建
os.makedirs()遞歸創建
os.rmdir()刪除
不能遞歸刪除目錄
8.創建文件 刪除文件
os.mknod()創建
os.remove()刪除
9.文件重命名
import osos.rename('data.txt','data1.txt')10.判斷文件或目錄是否存在
import os print(os.path.exists('ips.txtyyyy'))11.分離后綴名和文件名
import os print(os.path.splitext('hello.jpg'))運行結果: ('hello', '.jpg')12.將目錄名和文件名分離
import os print(os.path.split('/tmp/hello/hello.jpg'))運行結果: ('/tmp/hello', 'hello.jpg')練習題:
1 . 在當前目錄新建目錄img, 里面包含多個文件, 文件名各不相同(X4G5.png)
2 . 將當前img目錄所有以.png結尾的后綴名改為.jpg
import os def change(dirname,old_suffix,new_suffix):filename_li = [name for name in os.listdir(dirname) if name.endswith(old_suffix)]for filename in filename_li:oldname = os.path.join(dirname, filename)newname = os.path.join(dirname, os.path.splitext(filename)[0] + new_suffix)os.rename(oldname, newname) change('img','.png','jpg')時間模塊
python中時間表示的類型
1.時間戳:即從1970年1月1日到現在,單位是秒
import timeprint(time.time())運行結果: 1560407829.12013462.字符串時間
import timeprint(time.ctime())運行結果: Thu Jun 13 14:37:59 20193.元組類型的時間
import timeprint(time.localtime()) info = time.localtime() print(info.tm_year) print(info.tm_mon)運行結果: time.struct_time(tm_year=2019, tm_mon=6, tm_mday=13, tm_hour=14, tm_min=38, tm_sec=56, tm_wday=3, tm_yday=164, tm_isdst=0) 2019 6文件的時間戳:
系統中文件存在三個時間戳:
atime:讀取一次文件的內容,該時間便會更新。比如對這個文件使用less命令或者more命令。(ls、stat這樣的命令不會修改文件訪問時間)
mtime:對文件內容修改一次便會更新該時間。例如使用vim等工具更改了文件內容并保存后,文件修改時間發生變化。通過ls –l列出的時間便是這個時間。要想看到文件訪問時間可使用ls –ul命令。
ctime:更改文件的屬性便會更新該時間,比如使用chmod命令更改文件屬性,或者執行其他命令時隱式的附帶更改了文件的屬性若文件大小等。
stat 文件名稱 #查看文件的時間戳
touch 文件名稱 #同時修改文件的三個時間戳
常用的時間轉換:
1 . 把元組的時間轉換為時間戳
2 . 把元組時間轉換成字符串時間
import time tuple_time = time.localtime() print(time.strftime('%m-%d',tuple_time)) print(time.strftime('%Y-%m-%d',tuple_time)) print(time.strftime('%T',tuple_time)) print(time.strftime('%F',tuple_time))3 . 將時間戳類型轉換成為字符串時間
import os import time pwd_time = os.path.getctime('/etc/passwd') print('pwd_time',pwd_time) print(time.ctime(pwd_time))4 . 將時間戳轉換為元組
import os import time pwd_time = os.path.getctime('/etc/passwd') tuple_time = time.localtime() print(time.localtime(pwd_time))5 . 將元組類型轉換為時間戳
import timetuple_time = time.localtime() print(time.mktime(tuple_time))示例:
1 . 根據指定的格式把一個時間字符串解析為時間元組
2 . datetime
import os from datetime import date from datetime import datetime from datetime import timedeltaprint(date.today()) print(datetime.now()) # 計算三天前的時間和三天后的時間 d = date.today() delta = timedelta(days=31) print(d + delta) print(d - delta)# 計算兩個小時前的時間和兩個小時后的時間 now_hour = datetime.now() delta = timedelta(hours=2) print(now_hour - delta) print(now_hour + delta)# 返回兩個時間,計算兩個時間之間的時間差 now_time = datetime.now() print(now_time) pwd_time = os.path.getmtime('/etc/passwd') print(pwd_time) pwd_time_obj = datetime.fromtimestamp(pwd_time) print(pwd_time_obj) delta = now_time - pwd_time_obj print(delta)需求:
1.獲取當前主機信息, 包含操作系統名, 主機名,
內核版本, 硬件架構等
2.獲取開機時間和開機時長;
3.獲取當前登陸用戶
總結
以上是生活随笔為你收集整理的python—os模块、时间模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux家用系统版本,查看linux系
- 下一篇: python爬取天气预报源代码_pyth