os模塊 1.os.getcwd() 獲取當前工作目錄,即當前python腳本工作的目錄路徑 2.os.chdir() 改變當前腳本工作目錄;相當於shell下cd 3.os.makedirs() 用於遞歸創建目錄,內部有兩個參數path、mode(許可權模式) 代碼執行前: 代碼執行後: 4.os. ...
os模塊
1.os.getcwd()
獲取當前工作目錄,即當前python腳本工作的目錄路徑
import os print(os.getcwd()) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
2.os.chdir()
改變當前腳本工作目錄;相當於shell下cd
import os print(os.getcwd()) #C:\Users\Administrator\PycharmProjects\PYL\temp_file os.chdir(r'C:\Users\Administrator\PycharmProjects\PYL') print(os.getcwd()) #C:\Users\Administrator\PycharmProjects\PYL
3.os.makedirs()
用於遞歸創建目錄,內部有兩個參數path、mode(許可權模式)
import os os.makedirs('dirname1/dirname2/dirname3')
代碼執行前:
代碼執行後:
4.os.removedirs()
用於遞歸刪除目錄,若目錄為空則刪除,並返回上一層目錄,若也為空,也刪除,以此類推;如果目錄不為空就沒有辦法刪除,程式會報錯
import os os.removedirs('dirname1/dirname2/dirname3')
代碼執行前:
代碼執行後:
5.os.mkdir()
和makedirs()相比只能一級一級的創建目錄,預設的許可權數字模式是0777(八進位)
import os os.mkdir('dirname1/dirname2')
代碼執行前:
代碼執行後:
6.os.listdir()
返回指定的文件夾包含的文件或文件夾的名字的列表.這個列表以字母順序,它不包括'.'和'..'即使它在文件夾中,只支持在Unix,Windows下使用
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.listdir(path)) #['dirname1', 'temp_py.py'] print(os.listdir(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file')) #['dirname1', 'temp_py.py']
7.os.stat()
用於在給定的路徑上執行一個系統 stat 的調用
參數:
st_mode: inode 保護模式 st_ino: inode 節點號。 st_dev: inode 駐留的設備。 st_nlink: inode 的鏈接數。 st_uid: 所有者的用戶ID。 st_gid: 所有者的組ID。 st_size: 普通文件以位元組為單位的大小;包含等待某些特殊文件的數據。 st_atime: 上次訪問的時間。 st_mtime: 最後一次修改的時間。 st_ctime: 由操作系統報告的"ctime"。在某些系統上(如Unix)是最新的元數據更改的時間,在其它系統上(如Windows)是創建時間(詳細信息參見平臺的文檔)。
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file get_path = os.stat(path) print(get_path) #os.stat_result(st_mode=16895, st_ino=51791395714972605, st_dev=2243978906, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1567246056, st_mtime=1567246056, st_ctime=1567058187) get_path2 = os.stat('test.py') print(get_path2) #os.stat_result(st_mode=33206, st_ino=38280596832774340, st_dev=2243978906, st_nlink=1, st_uid=0, st_gid=0, st_size=12, st_atime=1567245950, st_mtime=1567245950, st_ctime=1567245924)
8.os.system()
運行shell命令,直接顯示
import os print(os.system('dir')) # ������ C �еľ��� ϵͳ # ������к��� 85C0-669A # # C:\Users\Administrator\PycharmProjects\PYL\temp_file ��Ŀ¼ # # 2019/08/31 22:00 <DIR> . # 2019/08/31 22:00 <DIR> .. # 2019/08/31 17:40 <DIR> dirname1 # 2019/08/31 22:00 34 temp_py.py # 2019/08/31 18:05 12 test.py # 2 ���ļ� 46 �ֽ� # 3 ��Ŀ¼ 45,381,369,856 �����ֽ� # 0
9.os.popen()
運行shell命令,獲取執行結果
import os print(os.popen('dir').read()) # 驅動器 C 中的捲是 系統 # 捲的序列號是 85C0-669A # # C:\Users\Administrator\PycharmProjects\PYL\temp_file 的目錄 # # 2019/08/31 22:08 <DIR> . # 2019/08/31 22:08 <DIR> .. # 2019/08/31 17:40 <DIR> dirname1 # 2019/08/31 22:04 <DIR> nwdir # 2019/08/31 22:08 40 temp_py.py # 2019/08/31 18:05 12 test.py # 2 個文件 52 位元組 # 4 個目錄 45,363,744,768 可用位元組
10.os.rename()
重命名文件/目錄
import os os.rename('old_test.py','new_test.py')
程式執行前:
程式執行後:
11.os.path.getsize()
返回這個路徑下的所有文件夾的內容大小
import os path = os.getcwd() path_size = os.path.getsize(path) print(path_size) #4096
12.os.path.abspath()
返回path規範化的絕對路徑
import os path = os.getcwd() print(os.path.abspath(path)) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
13.os.path.split()
將path分割成目錄和文件名二元組返回
import os path = os.getcwd() print(os.path.split(path)) #('C:\\Users\\Administrator\\PycharmProjects\\PYL', 'temp_file')
14.os.path.dirname()
返回path的目錄,其實就是os.path.split(path)的第一個元素
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.path.dirname(path)) #C:\Users\Administrator\PycharmProjects\PYL
15.os.path.basename()
返回path最後的文件名,如果path以/或\結尾,那麼就會返回空值,即os.path.split(path)的第二個元素
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.path.basename(path)) #temp_file
16.os.path.exists()
如果path存在,返回True;如果path不存在,返回False
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.path.exists(path)) #True print(os.path.exists(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file2')) #False
17.os.path.isabs()
如果path是絕對路徑,返回True
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.path.isabs(path)) #True print(os.path.isabs(r'.\temp_file')) #False
18.os.path.isfile()
如果path是一個存在的文件,返回True,否則返回False
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.path.isfile(path)) #False print(os.path.isfile(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file\dirname1\dirname2\temp_py.py')) #True
19.os.path.isdir()
如果path是一個存在的目錄,則返回True,否則返回False
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.path.isdir(path)) #True print(os.path.isdir(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file\dirname1\dirname2\temp_py.py')) #False
20.os.path.isjoin()
將多個路徑組合後返回,第一個絕對路徑之前的參數將被忽略
import os path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file print(os.path.join(path,r'C:\Users\Administrator\PycharmProjects\PYL\temp_file\new_test.py')) # C:\Users\Administrator\PycharmProjects\PYL\temp_file # C:\Users\Administrator\PycharmProjects\PYL\temp_file\new_test.py
21.os.path.getatime()
返回path所指向的文件或者目錄的最後訪問時間
import os,time path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file times = os.path.getatime(path) print(times) #1567261823.2424655 print('文件最後訪問時間:' + time.asctime(time.localtime(times))) #文件最後訪問時間:Sat Aug 31 22:30:23 2019
22.os.path.getmtime()
返回path所指向的文件或者目錄的最後修改時間
import os,time path = os.getcwd() print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file times = os.path.getmtime(path) print(times) #1567261823.2424655 print('文件最後修改時間:' + time.asctime(time.localtime(times))) #文件最後訪問時間:Sat Aug 31 22:30:23 2019
23.os模塊的屬性
os.sep 輸出操作系統特定的路徑分隔符,win下為"\\",Linux下為"/" os.linesep 輸出當前平臺使用的行終止符,win下為"\r\n",Linux下為"\n" os.pathsep 輸出用於分割文件路徑的字元串 win下為;,Linux下為: os.name 輸出字元串指示當前使用平臺。win->'nt'; Linux->'posix'
sys模塊
1.sys.platform
返回操作系統平臺名稱
import sys print(sys.platform) #win32
2.sys.argv
命令行參數List,第一個元素是程式本身路徑
import sys print(sys.argv) #['C:\\Users\\Administrator\\PycharmProjects\\PYL\\temp_file\\dirname1\\dirname2\\temp_py.py']
3.sys.exit(n)
退出程式,正常退出時exit(0),錯誤退出sys.exit(1)
4.sys.version
獲取python解釋程式的版本信息
import sys print(sys.version) #3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)]
5.sys.path
返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變數的值
import sys print(sys.path) #['C:\\Users\\Administrator\\PycharmProjects\\PYL\\temp_file\\dirname1\\dirname2', # 'C:\\Users\\Administrator\\PycharmProjects\\PYL', # 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\Scripts\\python37.zip', # 'F:\\Anaconda\\DLLs', # 'F:\\Anaconda\\lib', # 'F:\\Anaconda', # 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv', # 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\lib\\site-packages', # 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\lib\\site-packages\\setuptools-40.8.0-py3.7.egg', # 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\lib\\site-packages\\pip-19.0.3-py3.7.egg']