您好,登錄后才能下訂單哦!
今天小編給大家分享一下python中os模塊和sys模塊怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
os.getcwd() 獲取當前的工作目錄
os.chdir(‘絕對路徑/相對于當前工作目錄的路徑’) 改變工作目錄,相當于shell的cd命令,例如Windows平臺下os.chdir(r’D:\PythonScripts\test\c’),用r對\進行轉義,第一層級必須使用雙斜線,其他層級可以單斜線也可以雙斜線,在linux和unix平臺下用/分割
os.curdir 返回當前路徑 .
os.pardir 返回當前路徑的上一層路徑,即 ..
os.mkdir('dir') 生成單級目錄
os.makedirs(r'dir1\dir2') 創建遞歸目錄,不加絕對路徑表示在當前工作目錄下創建
os.rmdir('dir') 刪除單級空目錄,如果目錄不為空無法刪除
os.removedirsr('dir1\dir2') 若目錄為空則刪除,并遞歸到上一層目錄,若上一層為空也刪除,以此類推
os.listdir(dir) 列出指定目錄下的所有一級文件和目錄,并以列表形式打印
os.remove('file') 刪除一個文件
os.rename('oldname','newname') 重命名文件或目錄
os.listdir('dir')以列表形式列出dir目錄下所有的文件和目錄
os.stat('file'/'dir') 獲取文件/目錄的大小,鏈接數,創建時間,上一次修改、訪問時間等信息
os.sep 獲取當前環境的分隔符
os.linesep 獲取當前環境的換行符,windows下為/r/n,linux下為/n
os.pathsep 獲取當前環境分割文件路徑的字符串,windows下為;,linux下為:
os.name 獲取當前使用平臺,windows為nt,linux為posix
os.environ 獲取系統環境變量
os.system(shell command) 運行shell命令,返回執行狀態碼,執行結果顯示到屏幕
os.path.abspath(path) 返回絕對路徑
os.path.split(path) 將path分割成目錄和文件名的兩個元素的元組
os.path.dirame(path) 返回path的目錄,相當于os.path.split(path)的第一個元素
os.path.basename(path) 返回path最后的文件名,如果path以/或\結尾則返回空值,即os.path.split(path)的第二個元素
os.path.exists(path) 如果path存在則返回True,否則返回False
os.path.isabs(path) 如果path是絕對路徑則返回True,否則返回False
os.path.isfile(path) 如果path是一個存在的文件則返回True,否則返回False
os.path.isdir(path) 如果path是一個存在的目錄則返回True,否則返回False
os.path.join(path2[,path3[,path4…]]) 將多個路徑組合后返回,第一個絕對路徑之前的參數將被忽略
os.path.getatime(path) 獲取path所指向的文件或者目錄的最后訪問時間
os.path.getmtime(path) 獲取path所指向的文件或者目錄的最后修改時間
os.walk(‘path’)函數對于每個目錄返回一個三元組,(dirpath, dirnames, filenames),
第一個是路徑,第二個是路徑下面的目錄,第三個是路徑下面的文件
如果加參數topdown=False則表示自下而上進行遍歷,默認為topdown=True即自上而下進行遍歷
#對于上述結構,os.walk()的結果為 ['dir', ['dir1', 'dir2'], ['file1.txt', 'file2.txt']] ['dir\\dir1', ['dir11', 'dir12'], []] ['dir\\dir1\\dir11', [], ['file111.txt']] ['dir\\dir1\\dir12', [], []] ['dir\\dir2', ['dir21'], ['file21.txt']] ['dir\\dir2\\dir21', [], []] #可通過如下腳本驗證 import sys l=[] for root,dirs,files in os.walk('dir'): l.append(root) l.append(dirs) l.append(files) print(l) l=[]
結果分析
1.先以給定的目錄作為根目錄進行遍歷,讀取根目錄的文件夾和文件
2.以根目錄下子目錄為新的根目錄進行遍歷,讀取其下面的文件夾和文件
3.再以2中得到的子目錄為根目錄進行遍歷,讀取其下面的文件夾和文件
4.重復3,直至所有子目錄下面沒有子目錄和文件
sys.path 獲取python PATH環境變量的值
sys.version 獲取python解釋器的版本
sys.exit(n) 在程序執行過程中退出程序,正常退出為exit(0)
sys.argv 返回的結果為一個列表且各元素都為字符串,第一個元素為當前執行文件的名稱,后面的元素為執行文件時傳入的參數,以空格分隔各參數,如果只有空格表示沒有參數。
[root@oldboy test]# cat argv.py import sys print(sys.argv) [root@oldboy test]# python argv.py ['argv.py'] [root@oldboy test]# python argv.py 11 '22' [33,44] 'True' {1:'a'}#文件執行時傳入的參數不能為元組,否則會報錯 ['argv.py', '11', '22', '[33,44]', 'True', '{1:a}']
sys.stdout.write(‘str’) 向屏幕輸出,不換行,相當于print,但是print(‘str’)是換行輸出
sys.stdout.flush( ) 將緩存輸出到屏幕
例如通過#逐步打印進度條
import time,sys for i in range(20): sys.stdout.write('#') #打印一個#,不換行 time.sleep(0.1) #睡0.1秒再輸出下一個# sys.stdout.flush() #將緩存中的#輸出到屏幕,沒有這一行系統會等到輸出完畢再將緩存中的20個#輸出到屏幕 print('')
解析文件執行時輸入的參數:optparse模塊
import optparse class ArgvHandle(): def __init__(self): self.op = optparse.OptionParser() self.op.add_option('-s','--server',dest = 'server') #,前面為文件執行時的輸入,dest表示參數名。如果文件執行時帶有-s或者--server,則形成參數名稱為dest指定名稱、參數值為-s或者--server后面緊跟著的內容 self.op.add_option('-P','--port',dest = 'port') self.op.add_option('-u','--username',dest = 'username') self.op.add_option('-p','--passwort',dest = 'password') #學習中遇到問題沒人解答?小編創建了一個Python學習交流群:725638078 option,args = self.op.parse_args() print(type(option),type(args)) print(option,args) print(option.server,option.port,option.username,option.password)#通過.取參數名對應的值 test = ArgvHandle()
隨意輸入參數執行結果如下
可知op.parse_args()是將文件執行python mani.py后面的參數分割成兩部分,一部分類似字典的形式(實際是一個對象),一部分是一個列表。
如果匹配到add_option定義的參數形式,則將后面緊跟著的輸入作為參數的值;未匹配到add_option定義的參數形式的其余輸入被整理到一個列表中。
以上就是“python中os模塊和sys模塊怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。