歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

Python中os模塊如何使用?

發(fā)布時間:2017-08-19 21:04  回復(fù):0  查看:2616   最后回復(fù):2017-08-19 21:04  
本文和大家分享的主要是python os 模塊相關(guān)使用方法詳解,一起來看看吧,希望對大家 學(xué)習(xí)python 有所幫助。
   os模塊調(diào)用操作系統(tǒng)接口的模塊
   相關(guān)方法或?qū)傩裕?/span>
  getcwd() ---  獲取當(dāng)前的操作目錄,等同于 linux 中的 pwd 命令。
  調(diào)用:os.getcwd()
  chdir() ---  改變 python 腳本的工作目錄。
  調(diào)用:os.chdir(path) (path 以字符串形式傳入 )
  例如:
>>> os.getcwd()
'C:\\Users\\BLUE'
>>> os.chdir('D:\\Program Files')
>>> os.getcwd()
'D:\\Program Files'
>>> os.chdir(r'C:\Users\BLUE')
>>> os.getcwd()
'C:\\Users\\BLUE'
  curdir ---  當(dāng)前目錄 使用: os.curdir
  pardir ---  當(dāng)前目錄的父目錄  使用:  os.pardir
  例如:
>>> os.curdir
'.'
>>> os.pardir
'..'
>>> os.getcwd()
'C:\\Users\\BLUE'
>>> os.chdir(os.pardir)
>>> os.getcwd()
'C:\\Users'
  makedirs() ---  遞歸的創(chuàng)建目錄。
  調(diào)用:os.makedirs('dir_1/dir_2/dir_3/.../dir_n')
  例如:os.makedirs(r'C:\a\b\c\d')  # 該操作會依次在 C 盤下創(chuàng)建 a, b, c, d 四個文件夾(若 a 目錄存在則只創(chuàng)建 b , c , d 三個目錄)。
  removedirs() ---  若當(dāng)前目錄為空則刪除,并切換到父級目錄,若為空繼續(xù)刪除,依次遞歸。
  調(diào)用:os.removedirs('dir_1/dir_2/dir_3/.../dir_n')
  例如:os.removedirs(r'C:\a\b\c\d')  # 該操作會依次在 C 盤下依次刪除 d, c, b, a 四個文件夾,如果中間某一級目錄不為空,則在該級停止刪除。
  mkdir() ---  創(chuàng)建單級目錄。
  調(diào)用:os.mkdir('dir_1/dir_2/dir_3/.../dir_n')
  例如:os.mkdir(r'C:\a\b\c\d')  # 該操作會在 C 盤下創(chuàng)建 d 文件夾(若 a, b, c 目錄有一個不存在,則無法創(chuàng)建并報錯)。
  rmdir() ---  刪除單級空目錄。
  調(diào)用:os.rmdir('dir_1/dir_2/dir_3/.../dir_n')
  例如:os.rmdir(r'C:\a\b\c\d')  # d 目錄為空,該操作只刪除 d 目錄, 否則無法刪除并報錯。
  listdir() ---  以列表的形式列出制定目錄下的所有文件(包括隱藏文件),子目錄。
  調(diào)用:os.listdir(path)
  例如:(列出D 盤下的所有文件)
  >>> os.listdir(r'D:')
  ['Anaconda3', 'BaiduNetdisk', 'BHO', 'Data', 'guiminer', 'Intel', 'JetBrains', 'Profiles', 'Program', 'Tencent', 'Thunder', 'Thunder BHO Platform', 'UninstallXLWFP.exe', 'WinRAR', ' 騰訊游戲
  remove() ---  刪除一個文件。
  調(diào)用:os.remove(path)
  rename() ---  對一個文件重命名。
  調(diào)用:os.rename(old_filename, new_filename)  # 注意不能覆蓋已存在文件
  stat() ---  獲取文件或目錄的屬性信息。
  調(diào)用:os.stat(path)
  例如:
  >>> os.stat(r'C:\Windows\regedit.exe')
os.stat_result(st_mode=33279, st_ino=281474976742063, st_dev=1893840342, st_nlink=2, st_uid=0, st_gid=0, st_size=321024, st_atime=1489870628, st_mtime=1489870628, st_ctime=1489870628)
>>> os.stat(r'C:\Windows')
  os.stat_result(st_mode=16895, st_ino=281474976712108, st_dev=1893840342, st_nlink=1, st_uid=0, st_gid=0, st_size=32768, st_atime=1502900732, st_mtime=1502900732, st_ctime=1489837220)
  sep ---  使用 os.sep 獲取當(dāng)前平臺的路徑的分隔符(目錄與子目錄之間)(例如 windows 下是 r‘\’ , Linux 下時 ‘/’ )。
  linesep ---  使用 os.linesep 獲取當(dāng)前平臺的換行符(例如 windows 下是 ‘\r\n’ , Linux 下時 ‘\n’ )。
  pathsep ---  使用 os.pathsep 獲取當(dāng)前平臺文件路徑的分隔符(文件之間)(例如 windows 下是 ‘;’ , Linux 下時 ‘:’ )。
  name ---  使用 os.name 獲取當(dāng)前平臺名稱。
  例如:
>>> os.sep
'\\'
>>> os.linesep
'\r\n'
>>> os.pathsep
';'
>>> os.name'nt'
  system() ---  執(zhí)行系統(tǒng)命令。
  調(diào)用:os.system(command)
  例如:
  >>> os.system('ping www.baidu.com')
  正在 Ping www.A.sHiFeN.com [220.181.112.244]  具有  32  字節(jié)的數(shù)據(jù) :
  來自 220.181.112.244  的回復(fù) 字節(jié) =32  時間 =38ms TTL=55
  來自 220.181.112.244  的回復(fù) 字節(jié) =32  時間 =38ms TTL=55
  來自 220.181.112.244  的回復(fù) 字節(jié) =32  時間 =38ms TTL=55
  來自 220.181.112.244  的回復(fù) 字節(jié) =32  時間 =37ms TTL=55
  220.181.112.244  的  Ping  統(tǒng)計信息 :
  數(shù)據(jù)包已發(fā)送  = 4 ,已接收  = 4 ,丟失  = 0 (0%  丟失 ) ,
  往返行程的估計時間( 以毫秒為單位 ):
  最短 = 37ms ,最長  = 38ms ,平均  = 37ms
  environ ---  使用 os.environ 獲取系統(tǒng)環(huán)境變量。
  例如:
  >>> os.environ
  environ({'COMPUTERNAME': 'DESKTOP-KTUG9G5', 'APPDATA': 'C:\\Users\\BLUE\\AppData\\Roaming', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-KTUG9G5', 'HOMEPATH': '\\Users\\BLUE', 'NUMBER_OF_PROCESSORS': '8', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'ONEDRIVE': 'C:\\Users\\BLUE\\OneDrive', 'LOGONSERVER': '\\\\DESKTOP-KTUG9G5', 'OS': 'Windows_NT', 'TEMP': 'C:\\Users\\BLUE\\AppData\\Local\\Temp', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'PROGRAMDATA': 'C:\\ProgramData', 'PROMPT': '$P$G', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel', 'LOCALAPPDATA': 'C:\\Users\\BLUE\\AppData\\Local', 'USERNAME': 'BLUE', 'PROCESSOR_REVISION': '3c03', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMW6432': 'C:\\Program Files', 'WINDIR': 'C:\\Windows', 'PUBLIC': 'C:\\Users\\Public', 'ASL.LOG': 'Destination=file', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PROCESSOR_LEVEL': '6', 'SYSTEMROOT': 'C:\\Windows', 'SESSIONNAME': 'Console', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'HOMEDRIVE': 'C:', 'TMP': 'C:\\Users\\BLUE\\AppData\\Local\\Temp', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'PATH': 'D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;D:\\Program Files\\Anaconda3;D:\\Program Files\\Anaconda3\\Scripts;D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Users\\BLUE\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\BLUE\\AppData\\Local\\GitHubDesktop\\bin', 'USERDOMAIN': 'DESKTOP-KTUG9G5', 'USERPROFILE': 'C:\\Users\\BLUE'})
  path.abspath() ---  獲取文件的絕對路徑
  調(diào)用:os.path.abspath(filename)
  例如:
>>> os.chdir(r'C:\windows')
>>> os.path.abspath('regedit.exe')
'C:\\windows\\regedit.exe'
  path.split() ---  傳入一個文件路徑,返回一個 tuple (由兩部分構(gòu)成 (path, filename) )。
  調(diào)用:os.path.split(path)
  例如:
  path.dirname() ---  獲取路徑中的目錄。
  調(diào)用:os.path.dirname(path)
  path.basename() ---  獲取路徑中的文件名。
  調(diào)用:os.path.basename(path)
>>> os.path.dirname(r'C:\Windows\System32\drivers\etc\hosts')'
C:\\Windows\\System32\\drivers\\etc'
>>> os.path.basename(r'C:\Windows\System32\drivers\etc\hosts')
'hosts'
>>> os.path.split(r'C:\Windows\System32\drivers\etc\hosts')
  ('C:\\Windows\\System32\\drivers\\etc', 'hosts')
  path.exists() ---  判斷路徑是否存在。
  調(diào)用:os.path.exists(path)
  path.isabs() ---  判斷路徑是否是絕對路徑。
  調(diào)用:os.path.isabs(path)
  path.isfile() ---  判斷是否是文件。
  調(diào)用:os.path.isfile(path)
  path.isdir() ---  判斷是否是目錄。
  調(diào)用:os.path.isdir(path)
  例如:
  >>> os.path.exists(r'C:\Windows\System32\drivers\etc\hosts')
  True
  >>> os.path.exists(r'C:\Windows\System32\drivers\etc\abcd')
  False
  >>> os.path.isabs(r'C:\Windows\System32\drivers\etc\hosts')
  True
  >>> os.path.isabs(r'../')
  False
  >>> os.path.isfile('C:\Windows\System32\drivers\etc\hosts')
  True
  >>> os.path.isfile('C:\Windows\System32\drivers\etc')
  False
  >>> os.path.isdir('C:\Windows\System32\drivers\etc')
  True
  >>> os.path.isdir('C:\Windows\System32\drivers\etc\hosts')
  False
  path.join() ---  將一個或多個路徑正確地連接起來。
  調(diào)用:os.path.join (path, *paths )
  path.getatime() ---  獲取文件最后的訪問時間 ( 以時間戳的形式返回 ) 。
  調(diào)用:os.path.getatime(path)
  path.getmtime() ---  獲取文件最后的修改時間 ( 以時間戳的形式返回 ) 。
  調(diào)用:os.path.getmtime(path)
  例如:
>>> os.path.join('C:', r'\windows\System32', r'\System32\drivers')'
C:\\System32\\drivers'
>>> os.path.join('C:', r'\windows\System32')'
C:\\windows\\System32'
>>>os.path.getatime('C:\Windows\System32\drivers\etc\hosts')
1501070798.585747
>>> os.path.getmtime('C:\Windows\System32\drivers\etc\hosts')
1502505489.0068946
來源: 博客園
您還未登錄,請先登錄

熱門帖子

最新帖子

?