日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

以下关于python自动化运维错误的是_Python在自动化运维时经常会用到的方法

發布時間:2025/4/5 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 以下关于python自动化运维错误的是_Python在自动化运维时经常会用到的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:Python在自動化運維時經常會用到的方法

本文由馬哥教育Python自動化實戰班6期學員推薦,轉載自互聯網,作者為seed,內容略經小編改編和加工,觀點跟作者無關,最后感謝作者的辛苦貢獻與付出。

隨著信息時代的迅速發展,尤其是互聯網日益融入大眾生活,作為這一切背后的IT服務支撐,運維角色的作用越來越大,傳統的人工運維方式已經無法滿足業務的發展需求,需要從流程化、標準化、自動化去構建運維體系,其中流程化與標準化是自動化的前提條件,自動化的最終目的是提高工作效率、釋放人力資源、節約運營成本、提升業務服務質量等。

下面我們梳理了下一些Python在自動化運維時經常會用到的方法:

得到當前工作目錄,即當前Python腳本工作的目錄路徑:os.getcwd()

返回指定目錄下的所有文件和目錄名:os.listdir()

函數用來刪除一個文件:os.remove()

刪除多個目錄:osremovedirs(r"c:python") //略危險,熟練之后再用吧

檢驗給出的路徑是否是一個文件:os.path.isfile() //經常會用

檢驗給出的路徑是否是一個目錄:os.path.isdir() //經常會用

判斷是否是絕對路徑:os.path.isabs()

檢驗給出的路徑是否真實存在:os.path.exists()

返回一個路徑的目錄名和文件名:os.path.split()

例:import os

os.path.split('/home/swaroop/byte/code/poem.txt')

結果為:('/home/swaroop/byte/code','poem.txt') //就是把路徑和文件

名分別列出來顯得更加清楚

分離擴展名:os.path.splitext()

獲取路徑名:os.path.dirname()

獲取文件名:os.path.basename()

運行shell命令:os.system()

讀取和設置環境變量:os.getenv()與os.putenv()

給出當前平臺使用的行終止符:os.linesep windows使用'rn',linux使

用'n'而mountainlion使用的是'r'

顯示你正在使用的平臺:os.name 對于windows,他是'nt',而對于linux/unix

,他是'posix'

重命名:os.rename(old,new)

創建多集目錄:os.makedirs(r"c:pythontest")

創建單個目錄:os.mkdir("test")

獲取文件屬性 os.stat(file)

修改文件權限和時間戳:os.chmod(file)

終止當前進程:os.exit() //python2.4可用

獲取文件大小:os.path.getsize(filename)

文件操作:

os.mknod("test.txt") 創建空文件

fp = open("test.txt",w) 直接打開一個文件,如果文件不存在則創建文件

關于open/file的模式:

w 以寫的方式打開

a 以追加的模式打開(從EOF開始,必要時創建新文件)

r+ 以讀寫模式打開

w+ 以讀寫模式打開 //據說不好用

a+ 以讀寫模式打開 //我比較喜歡用,讀寫打開后追加

rb 以二進制讀模式打開

wb 以二進制寫模式打開

ab 以二進制追加模式打開

rb+ 以二進制讀寫模式打開

wb+ 以二進制讀寫模式打開

ab+ 以二進制讀寫模式打開

fp.read([size]) //size 為讀取長度,以byte為單位

fp.readline([size]) //讀一行,如果定義了size,有可能返回的只是一行的一

部分

fp.write(str) //把str寫到文件中,write()并不會在str后加上一個換行符

fp.writelines(seq) //把seq的內容全部寫到文件中(多行一次性寫入)。這個

函數也只是忠實地寫入,不會在每行后面加任何東西

fp.close()

fp.flush() //把緩沖區的內容寫入硬盤

fp.fileno() //返回一個長整形的“文件標簽”

fp.isatty() //文件是否是一個終端設備文件(unix系統中的)

fp.tell() //返回當前位置,比如:

fp = open("zhige.txt",'a+') //zhige.txt里的內容為zhigedahaoren

fp.read(3)

c = fp.tell()

print c //會返回顯示zhigedahaoren里的第三個字母i

fp.next() //返回下一行,并將文件操作標記位移動到下一行

把一個file用于for...in file 這樣的語句時,就是調用next()函數來實現遍歷

fp.seek(offset[,whence]) //講文件的游標移動到offset的位置和tell搭配

做實驗看比較明顯

fp.truncate([size]) //把文件裁成規定的大小,默認的是裁到當前文件操

作坐標的位置。如果size比文件大小還要大,依據系統的不同,可能是不改變文

件,也可能是用0把文件補到相應的大小,也可能是以一些隨機的內容加上去。

目錄操作: //感覺可以用 os.system('')里寫shell完成

os.mkdir("file") 創建目錄

復制文件:

shutil.copyfile("oldfile","newfile") //oldfile和newfile都智能是文件

shutil.copy("oldfile","newfile") //oldfile只能是文件,newfile可

以是文件,也可以是目標目錄

復制文件夾:

shutil.copytree("olddir","newdir") //olddir和newdir都只能是目錄,

且newdir必須不存在

重命名文件(目錄):

os.rename("oldname","newname") //文件或目錄都是這條命令

移動文件(目錄)

shutil.move("oldpos","newpos")

刪除文件

os.remove("file")

刪除目錄:

os.rmdir("dir") //只能刪除空目錄

shutil.rmtree("dir") //空目錄,有內容的目錄都可以刪

轉換目錄:

os.chdir("path") //更換路徑

一些詳解:

seek(offset,where): where=0從起始位置移動,1從當前位置移動,2

從結束位置移動。當有換行時,會被換行截斷。seek()無返回值,故值為None。

tell(): 文件的當前位置,即tell是獲得文件指針的位置,受

seek,readline,read,readlines影響,不受truncate影響

truncate(n):從文件的首行字符開始截斷,截斷文件為n個字符;無n

表示從當前位置起截斷;階段之后n后面的說有字數被刪除。其中win下的換行代

表2個字符大小。

readline(n):讀入若干行,n表示讀入的最長字節數。其中讀取的開始

位置為tell()+1。當n為空時,默認只讀當前行的內容

readlines 讀入所有行內容

read 讀入所有行內容

二、以下以一個例子說明以上各函數的作用

fso = open("f:a.txt",'w+') //以w+方式,并非a方式打開文件,故文件

原內容被清空

print fso.tell() //文件原內容被清空,故此時tell()=0

fso.write("abcden") //寫入文件abcden,因為換行n占2個字符,故寫入了7

個字符

print fso.tell() 此時tell()=7

fso.write("fghwm") //又寫入文件fghwm,故此時文件共寫入7+5=12個字符

print fso.tell() //此時tell()=12

fso.seek(1,0) //從其實位置即文件首行首字符開始移動一個字符

print fso.tell() //此時tell()=1

print fso.readline() //讀取當前行,即文件的第一行,但是會從第二個字符

開始讀,結果為bcde

//若換成for讀取整個文件或者read讀取整個文件則結果為bcdefghwm

print fso.tell() //因為readline此時tell()=7

fso.truncate(8) //從寫入后文件的首行字符開始算,截斷為8個字符,即

abcednf,即文件內容為:abcdenf

print fso.tell() //tell()依舊為7,并為受truncate(8)的影響,但此時文件

的內容為abcdenf

print fso.readline() //從tell()+1=8 開始讀取,讀取當前行內容:f

————廣告時間————

馬哥教育2017年Python自動化開發實戰班,馬哥聯合BAT、豆瓣等一線互聯網Python開發達人,根據目前企業需求的Python開發人才進行了深度定制,加入了大量一線互聯網公司:大眾點評、餓了么、騰訊等生產環境真是項目,課程由淺入深,從Python基礎到Python高級,讓你融匯貫通Python基礎理論,手把手教學讓你具備Python自動化開發需要的前端界面開發、Web框架、大監控系統、CMDB系統、認證堡壘機、自動化流程平臺六大實戰能力,讓你從0開始蛻變成Hold住年薪20萬的Python自動化開發人才。

—Python學習免費交流QQ群:542679406(千人群)—返回搜狐,查看更多

責任編輯:

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的以下关于python自动化运维错误的是_Python在自动化运维时经常会用到的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。