最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中os模塊和sys模塊的使用詳解

 更新時(shí)間:2023年03月21日 14:29:41   作者:Python程序u猿  
本文主要介紹了python中os模塊和sys模塊的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、os模塊

os.getcwd() 獲取當(dāng)前的工作目錄

os.chdir(‘絕對(duì)路徑/相對(duì)于當(dāng)前工作目錄的路徑’) 改變工作目錄,相當(dāng)于shell的cd命令,例如Windows平臺(tái)下os.chdir(r’D:\PythonScripts\test\c’),用r對(duì)\進(jìn)行轉(zhuǎn)義,第一層級(jí)必須使用雙斜線,其他層級(jí)可以單斜線也可以雙斜線,在linux和unix平臺(tái)下用/分割

  • os.curdir  返回當(dāng)前路徑 .
  • os.pardir  返回當(dāng)前路徑的上一層路徑,即 ..
  • os.mkdir('dir')  生成單級(jí)目錄
  • os.makedirs(r'dir1\dir2') 創(chuàng)建遞歸目錄,不加絕對(duì)路徑表示在當(dāng)前工作目錄下創(chuàng)建
  • os.rmdir('dir')  刪除單級(jí)空目錄,如果目錄不為空無(wú)法刪除
  • os.removedirsr('dir1\dir2')  若目錄為空則刪除,并遞歸到上一層目錄,若上一層為空也刪除,以此類推
  • os.listdir(dir)  列出指定目錄下的所有一級(jí)文件和目錄,并以列表形式打印
  • os.remove('file')  刪除一個(gè)文件
  • os.rename('oldname','newname')  重命名文件或目錄
  • os.listdir('dir')以列表形式列出dir目錄下所有的文件和目錄
  • os.stat('file'/'dir')  獲取文件/目錄的大小,鏈接數(shù),創(chuàng)建時(shí)間,上一次修改、訪問(wèn)時(shí)間等信息
  • os.sep  獲取當(dāng)前環(huán)境的分隔符
  • os.linesep  獲取當(dāng)前環(huán)境的換行符,windows下為/r/n,linux下為/n
  • os.pathsep  獲取當(dāng)前環(huán)境分割文件路徑的字符串,windows下為;,linux下為:
  • os.name  獲取當(dāng)前使用平臺(tái),windows為nt,linux為posix
  • os.environ 獲取系統(tǒng)環(huán)境變量
  • os.system(shell command)  運(yùn)行shell命令,返回執(zhí)行狀態(tài)碼,執(zhí)行結(jié)果顯示到屏幕
  • os.path.abspath(path)  返回絕對(duì)路徑
  • os.path.split(path)  將path分割成目錄和文件名的兩個(gè)元素的元組
  • os.path.dirame(path)  返回path的目錄,相當(dāng)于os.path.split(path)的第一個(gè)元素
  • os.path.basename(path)  返回path最后的文件名,如果path以/或\結(jié)尾則返回空值,即os.path.split(path)的第二個(gè)元素
  • os.path.exists(path)  如果path存在則返回True,否則返回False
  • os.path.isabs(path)  如果path是絕對(duì)路徑則返回True,否則返回False
  • os.path.isfile(path)  如果path是一個(gè)存在的文件則返回True,否則返回False
  • os.path.isdir(path)   如果path是一個(gè)存在的目錄則返回True,否則返回False 
  • os.path.join(path1[,path2[,path3…]])  將多個(gè)路徑組合后返回,第一個(gè)絕對(duì)路徑之前的參數(shù)將被忽略
  • os.path.getatime(path)  獲取path所指向的文件或者目錄的最后訪問(wèn)時(shí)間
  • os.path.getmtime(path)  獲取path所指向的文件或者目錄的最后修改時(shí)間

二、os模塊中的os.walk()函數(shù)

os.walk(‘path’)函數(shù)對(duì)于每個(gè)目錄返回一個(gè)三元組,(dirpath, dirnames, filenames),

第一個(gè)是路徑,第二個(gè)是路徑下面的目錄,第三個(gè)是路徑下面的文件

如果加參數(shù)topdown=False則表示自下而上進(jìn)行遍歷,默認(rèn)為topdown=True即自上而下進(jìn)行遍歷

#對(duì)于上述結(jié)構(gòu),os.walk()的結(jié)果為
['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', [], []]

#可通過(guò)如下腳本驗(yàn)證
import sys
l=[]
for root,dirs,files in os.walk('dir'):
? ? l.append(root)
? ? l.append(dirs)
? ? l.append(files)
? ? print(l)
? ? l=[]

結(jié)果分析

1.先以給定的目錄作為根目錄進(jìn)行遍歷,讀取根目錄的文件夾和文件

2.以根目錄下子目錄為新的根目錄進(jìn)行遍歷,讀取其下面的文件夾和文件

3.再以2中得到的子目錄為根目錄進(jìn)行遍歷,讀取其下面的文件夾和文件

4.重復(fù)3,直至所有子目錄下面沒有子目錄和文件

三、sys模塊

  • sys.path 獲取python PATH環(huán)境變量的值
  • sys.version 獲取python解釋器的版本
  • sys.exit(n) 在程序執(zhí)行過(guò)程中退出程序,正常退出為exit(0)
  • sys.argv 返回的結(jié)果為一個(gè)列表且各元素都為字符串,第一個(gè)元素為當(dāng)前執(zhí)行文件的名稱,后面的元素為執(zhí)行文件時(shí)傳入的參數(shù),以空格分隔各參數(shù),如果只有空格表示沒有參數(shù)。
[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'}#文件執(zhí)行時(shí)傳入的參數(shù)不能為元組,否則會(huì)報(bào)錯(cuò)
['argv.py', '11', '22', '[33,44]', 'True', '{1:a}']

sys.stdout.write(‘str’) 向屏幕輸出,不換行,相當(dāng)于print,但是print(‘str’)是換行輸出

sys.stdout.flush( ) 將緩存輸出到屏幕

例如通過(guò)#逐步打印進(jìn)度條

import time,sys
for i in range(20):
    sys.stdout.write('#')  #打印一個(gè)#,不換行
    time.sleep(0.1)  #睡0.1秒再輸出下一個(gè)#
    sys.stdout.flush()  #將緩存中的#輸出到屏幕,沒有這一行系統(tǒng)會(huì)等到輸出完畢再將緩存中的20個(gè)#輸出到屏幕
print('')

解析文件執(zhí)行時(shí)輸入的參數(shù):optparse模塊

import optparse
class ArgvHandle():
? ? def __init__(self):
? ? ? ? self.op = optparse.OptionParser()
? ? ? ? self.op.add_option('-s','--server',dest = 'server')
? ? ? ? #,前面為文件執(zhí)行時(shí)的輸入,dest表示參數(shù)名。如果文件執(zhí)行時(shí)帶有-s或者--server,則形成參數(shù)名稱為dest指定名稱、參數(shù)值為-s或者--server后面緊跟著的內(nèi)容
? ? ? ? self.op.add_option('-P','--port',dest = 'port')
? ? ? ? self.op.add_option('-u','--username',dest = 'username')
? ? ? ? self.op.add_option('-p','--passwort',dest = 'password')
?? ??? ?#學(xué)習(xí)中遇到問(wèn)題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流群:725638078

? ? ? ? option,args = self.op.parse_args()
? ? ? ? print(type(option),type(args))
? ? ? ? print(option,args)   ? ? ? ??
? ? ?  print(option.server,option.port,option.username,option.password)#通過(guò).取參數(shù)名對(duì)應(yīng)的值

test = ArgvHandle()

隨意輸入?yún)?shù)執(zhí)行結(jié)果如下

可知op.parse_args()是將文件執(zhí)行python mani.py后面的參數(shù)分割成兩部分,一部分類似字典的形式(實(shí)際是一個(gè)對(duì)象),一部分是一個(gè)列表。

如果匹配到add_option定義的參數(shù)形式,則將后面緊跟著的輸入作為參數(shù)的值;未匹配到add_option定義的參數(shù)形式的其余輸入被整理到一個(gè)列表中。

到此這篇關(guān)于python中os模塊和sys模塊的使用詳解的文章就介紹到這了,更多相關(guān)python os模塊和sys模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決tensorflow打印tensor有省略號(hào)的問(wèn)題

    解決tensorflow打印tensor有省略號(hào)的問(wèn)題

    今天小編就為大家分享一篇解決tensorflow打印tensor有省略號(hào)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python基礎(chǔ)教程之裝飾器詳解

    Python基礎(chǔ)教程之裝飾器詳解

    眾所周知,Python裝飾器是一種常見的元編程特性,在本教程中,我們將深入探討Python裝飾器的基本概念、語(yǔ)法及其應(yīng)用,并利用實(shí)際例子加深理解,感興趣的小伙伴快跟隨小編一起了解一下吧
    2023-06-06
  • Pycharm中flask開啟debug模式的詳細(xì)流程

    Pycharm中flask開啟debug模式的詳細(xì)流程

    PyCharm是一個(gè)強(qiáng)大的集成開發(fā)環(huán)境(IDE),非常適合Python開發(fā)者,包括Flask框架,當(dāng)你在使用Flask開發(fā)Web應(yīng)用時(shí),Debug功能是非常重要的,它允許你在運(yùn)行時(shí)檢查程序的狀態(tài)、調(diào)試代碼錯(cuò)誤,本文將介紹Pycharm中flask開啟debug模式的詳細(xì)流程,需要的朋友可以參考下
    2024-08-08
  • python3 反射的四種基本方法解析

    python3 反射的四種基本方法解析

    這篇文章主要介紹了python3 反射的四種基本方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python File readlines() 使用方法

    Python File readlines() 使用方法

    readlines() 方法用于讀取所有行(直到結(jié)束符 EOF)并返回列表,該列表可以由 Python 的 for... in ... 結(jié)構(gòu)進(jìn)行處理,如果碰到結(jié)束符 EOF 則返回空字符串,需要的朋友可以參考下
    2018-03-03
  • Python ellipsis 的用法詳解

    Python ellipsis 的用法詳解

    這篇文章主要介紹了Python ellipsis 的用法詳解,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • Python+django實(shí)現(xiàn)文件下載

    Python+django實(shí)現(xiàn)文件下載

    本文是python+django系列的第二篇文章,主要是講述是先文件下載的方法和代碼,有需要的小伙伴可以參考下。
    2016-01-01
  • Pycharm技巧之代碼跳轉(zhuǎn)該如何回退

    Pycharm技巧之代碼跳轉(zhuǎn)該如何回退

    用Pycharm寫Python代碼有一段時(shí)間了,最近發(fā)現(xiàn)了一個(gè)Pycharm的一個(gè)小技巧想分享給大家,下面這篇文章主要給大家介紹了關(guān)于Pycharm代碼跳轉(zhuǎn)該如何回退的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-07-07
  • Python中yield關(guān)鍵字的理解與使用

    Python中yield關(guān)鍵字的理解與使用

    yield關(guān)鍵字用于創(chuàng)建生成器函數(shù),一種高效利用內(nèi)存的函數(shù)類型,可以像迭代器對(duì)象一樣使用,本文主要介紹了Python中的yield關(guān)鍵字的應(yīng)用,需要的可以參考下
    2023-08-08
  • Python保存MongoDB上的文件到本地的方法

    Python保存MongoDB上的文件到本地的方法

    這篇文章主要介紹了Python保存MongoDB上的文件到本地的方法,涉及Python調(diào)用pymongo模塊的gridfs方法來(lái)操作MongoDB文件的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03

最新評(píng)論

南漳县| 开江县| 顺昌县| 靖西县| 平邑县| 图木舒克市| 西宁市| 龙游县| 原阳县| 仁寿县| 高要市| 上思县| 辰溪县| 贵州省| 海丰县| 长岛县| 徐州市| 宣武区| 平潭县| 万年县| 莱阳市| 讷河市| 奎屯市| 鹤山市| 修水县| 启东市| 武威市| 万州区| 寿宁县| 玉门市| 宣汉县| 栾城县| 洪湖市| 西贡区| 天长市| 甘德县| 平定县| 江西省| 台湾省| 晋中市| 蒙阴县|