日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python—os模块、时间模块

發布時間:2025/3/11 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python—os模块、时间模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

os模塊
作用:os模塊是python標準庫中的一個用于訪問操作系統功能的模塊, os模塊提供了其他操作系統接口,可以實現跨平臺訪問。
使用:
1 . 返回操作系統類型 :os.name
值為:posix 是linux操作系統
值為:nt 是windows操作系統

import os print(os.name) print('Linux' if os.name == 'posix' else 'Windows')運行結果為: posix Linux

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.com

3.系統的環境變量

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/bin

4.判斷是否是絕對路徑
只會判斷路徑,并不會判斷目錄或者文件是否存在

import os print(os.path.isabs('/tmp/ffff')) print(os.path.isabs('hello.jog'))運行結果: True False

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.jpg

6.獲取目錄或文件名

import os filename = '/home/dd/20190523/day06/hello.jpg' print(os.path.basename(filename)) print(os.path.dirname(filename))運行結果: hello.jpg /home/dd/20190523/day06

7.創建和刪除目錄
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)

import os import random import string def str_name():"""生成文件名稱"""name_li = random.sample(string.ascii_letters+string.digits,4)return ''.join(name_li)+'.png' def create_file():os.mkdir('img')name = {str_name() for i in range(100)}for k in name:filename = os.path.join('img', k)os.mknod(filename) create_file()

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.1201346

2.字符串時間

import timeprint(time.ctime())運行結果: Thu Jun 13 14:37:59 2019

3.元組類型的時間

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 文件名稱 #同時修改文件的三個時間戳

[kiosk@foundation5 Desktop]$ stat haha File: ‘haha’Size: 15168 Blocks: 32 IO Block: 4096 regular file Device: 801h/2049d Inode: 137896031 Links: 1 Access: (0755/-rwxr-xr-x) Uid: ( 1000/ kiosk) Gid: ( 1000/ kiosk) Access: 2019-06-13 08:52:55.289390893 +0800 ### atime Modify: 2019-06-08 14:17:57.996665181 +0800 ### mtime Change: 2019-06-08 14:17:58.043666378 +0800 ### ctimeBirth: -[kiosk@foundation5 Desktop]$ touch haha [kiosk@foundation5 Desktop]$ stat haha File: ‘haha’Size: 15168 Blocks: 32 IO Block: 4096 regular file Device: 801h/2049d Inode: 137896031 Links: 1 Access: (0755/-rwxr-xr-x) Uid: ( 1000/ kiosk) Gid: ( 1000/ kiosk) Access: 2019-06-13 14:46:28.080062542 +0800 Modify: 2019-06-13 14:46:28.080062542 +0800 Change: 2019-06-13 14:46:28.080062542 +0800 ## 三個時間戳全部更改Birth: -

常用的時間轉換:
1 . 把元組的時間轉換為時間戳

import time tuple_time = time.localtime() print(tuple_time) print(time.mktime(tuple_time))

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 . 根據指定的格式把一個時間字符串解析為時間元組

import times = '2019-6-6' print(time.strptime(s,'%Y-%m-%d')) s_time = '09:00:00' print(time.strptime(s_time,'%H:%M:%S'))

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.獲取當前登陸用戶

import os import psutil from datetime import datetimeprint('主機信息'.center(50,'*')) info = os.uname() print("""操作系統:%s主機名稱:%s內核版本:%s硬件架構:%s"""%(info.sysname,info.nodename,info.release,info.machine) )print('開機信息'.center(50,'*')) boot_time = psutil.boot_time() #返回一個時間戳 # 將時間戳轉化為datetime類型的時間 boot_time_obj = datetime.fromtimestamp(boot_time) #print(type(boot_time_obj)) now_time = datetime.now() #print(now_time) delta_time = datetime.now() delta_time = now_time - boot_time_obj #print(delta_time) #print(type(delta_time))print('開機時間:',boot_time_obj) # str是為了將時間對象轉換為字符串,實現分離 print('當前時間:',str(now_time).split('.')[0]) print('開機時長:',str(delta_time).split('.')[0])print('當前登陸用戶'.center(50,'*')) login_user = psutil.users() print(login_user) # info = psutil.users()[0] # print(info.name)

總結

以上是生活随笔為你收集整理的python—os模块、时间模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。