一、os - 用于提供系統級别的操作
os.getcwd() 擷取目前工作目錄,即目前python腳本工作的目錄路徑;
os.chdir("dirname") 改變目前腳本工作目錄;相當于shell下cd;
os.curdir 傳回目前目錄: ('.');
os.pardir 擷取目前目錄的父目錄字元串名:('..');
os.makedirs('dirname1/dirname2') 可生成多層遞歸目錄;
os.removedirs('dirname1') 若目錄為空,則删除,并遞歸到上一級目錄,如若也為空,則删除,依此類推;
os.mkdir('dirname') 生成單級目錄;相當于shell中mkdir dirname;
os.rmdir('dirname') 删除單級空目錄,若目錄不為空則無法删除,報錯;相當于shell中rmdir dirname;
os.listdir('dirname') 列出指定目錄下的所有檔案和子目錄,包括隐藏檔案,并以清單方式列印;
os.remove() 删除一個檔案;
os.rename("oldname","newname") 重命名檔案/目錄;
os.stat('path/filename') 擷取檔案/目錄資訊;
os.sep 輸出作業系統特定的路徑分隔符,win下為"\\",Linux下為"/"
os.linesep 輸出目前平台使用的行終止符,win下為"\t\n",Linux下為"\n"
os.pathsep 輸出用于分割檔案路徑的字元串;
os.name 輸出字元串訓示目前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") 運作shell指令直接顯示
os.environ 擷取系統環境變量;
os.path.abspath(path) 傳回path規範化的絕對路徑;
os.path.split(path) 将path分割成目錄和檔案名二進制組傳回;
os.path.dirname(path) 傳回path的目錄。其實就是os.path.split(path)的第一個元素;
os.path.basename(path) 傳回path最後的檔案名。如果path以/或\結尾則傳回空值,即os.path.split(path)的第二個元素;
os.path.exists(path) 如果path存在,傳回True;如果path不存在,傳回False;
os.path.isabs(path) 如果path是絕對路徑,傳回True;
os.path.isfile(path) 如果path是一個存在的檔案,傳回True。否則傳回False;
os.path.isdir(path) 如果path是一個存在的目錄,則傳回True。否則傳回False;
os.path.join(path1[, path2[, ...]]) 将多個路徑組合後傳回,第一個絕對路徑之前的參數将被忽略;
os.path.getatime(path) 傳回path所指向的檔案或者目錄的最後存取時間;
os.path.getmtime(path) 傳回path所指向的檔案或者目錄的最後修改時間;
更多點選這裡
二、 sys -- 提供對解釋器相關的操作
sys.argv 指令行參數List,第一個元素是程式本身路徑
sys.exit(n) 退出程式,正常退出時exit(0)
sys.version 擷取Python解釋程式的版本資訊
sys.maxint 最大的Int值
sys.path 傳回子產品的搜尋路徑,初始化時使用PYTHONPATH環境變量的值
sys.platform 傳回作業系統平台名稱
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]
三、 time
時間相關操作,有三種表達方式:
- 時間戳 1970年1月1日之後的秒,即:time.time()
- 格式化的字元串 2014-11-11 11:11, 即:time.strftime('%Y-%m-%d')
- 結構化時間 元組包含了:年、日、星期等... time.struct_time 即:time.localtime()
>>> time.time()
1453650950.0419753
>>> time.strftime('%Y-%m-%d %H-%M-%S')
'2016-01-24 23-56-45'
>>> time.localtime()
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=24, tm_hour=23,
tm_min=57, tm_sec=12, tm_wday=6, tm_yday=24, tm_isdst=0)
>>> t = time.localtime()
>>> t.tm_year
2016
>>>
時間相關方法:
time.mktime() # 接結構化時間參數,将結構化時間轉成時間戳形式;
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=25, tm_hour=0, tm_min=19, tm_sec=42, tm_wday=0, tm_yday=25, tm_isdst=0)
>>> time.mktime(time.localtime())
1453652393.0
time.gmtime() # 接時間戳參數,将時間戳轉成結構化時間形式(time.mktime()相反)
>>> time.time()
1453652560.9539487
>>> time.gmtime(time.time())
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=24, tm_hour=16, tm_min=22, tm_sec=50, tm_wday=6, tm_yday=24, tm_isdst=0)
time.localtime() # 接時間戳參數,将時間戳轉成結構化時間形式(與time.mktime()相反)
>>> time.localtime(time.time())
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=25, tm_hour=0, tm_min=25, tm_sec=28, tm_wday=0, tm_yday=25, tm_isdst=0)
time.strptime('2016-01-01','%Y-%m-%d') # 将指定的時間轉成結構化時間形式;
>>> time.strptime('2016-01-01','%Y-%m-%d')
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=-1)
time.strftime('%Y-%m-%d') # 預設目前時間,轉成結構化時間;
time.ctime() # 轉成年月日形式
>>> time.ctime(1753653560.495428)
'Mon Jul 28 05:59:20 2025'
>>> time.ctime(time.time()-86640)
'Sun Jan 24 00:37:24 2016'
time.asctime()
>>> time.asctime()
'Mon Jan 25 02:23:59 2016'
>>> time.asctime(time.localtime())
'Mon Jan 25 02:24:09 2016'
注:time.gmtime()格林威治(0時區)time.localtime()本地時區(東8區),兩種方法相差八小時。
datetime
datetime.date:表示日期的類。常用的屬性有year, month, day
datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond
datetime.datetime:表示日期時間
datetime.timedelta:表示時間間隔,即兩個時間點之間的長度
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[,
hours[, weeks]]]]]]])
strftime("%Y-%m-%d")
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2016, 1, 25, 2, 33, 9, 665769)
>>> datetime.datetime.now() - datetime.timedelta(seconds=50)
datetime.datetime(2016, 1, 25, 2, 32, 21, 464165)
>>> datetime.datetime.now().replace(2014,1,1)
datetime.datetime(2014, 1, 1, 2, 33, 13, 328845)
>>> time.localtime().tm_year
2016
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuEjM50UWQ9lRyZFOCFUQXRkenhmYfR1dhFDTvl2S39CXGF0LcF0NvwVMw00LcJDMzZWe39CXvwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)