首頁  >  文章  >  後端開發  >  python輸入和檔案操作方法

python輸入和檔案操作方法

高洛峰
高洛峰原創
2017-03-10 18:57:301779瀏覽

這篇文章介紹python輸入和檔案操作方法

1、python 輸入

Python3提供了一個input(),可以讓使用者輸入字串,並存放到一個變數裡。如下所示,使用者從鍵盤輸入 1 ,以回車結束,輸入的 「1」以字串的形式存在了 a 變數中。

>>> a=input("Please input")
Please input1
>>> a
'1'
>>>

2、python 檔案操作


一、檔案操作方法

1.os.mknod("test.txt")建立空白文件
2.fp = open("test.txt",w)     直接開啟一個文件,如果檔案不存在則建立文件
3.關於open 模式:

w:以寫方式打開,
a:以追加模式打開(從EOF 開始, 必要時創建新文件)
r+:以讀寫模式打開
w+:以讀寫模式打開(參見w )
a+:以讀寫模式開啟(參見a )
rb:以二進位讀模式開啟
wb:以二進位寫入模式開啟(參見w )
ab:以二進位追加模式開啟(參見a )
rb+:以二進位讀寫模式開啟(參見r+ )
wb+:以二進位讀寫模式開啟(參見w+ )
ab+:以二進位讀寫模式開啟(參見a+)


fp.read([size])                     #size為已讀取的長度,而使用byte  ize,有可能返回的只是一行的一部份
fp.readlines([size])                #以一個list中的一個成員,並且傳回這個list。其實它的內部是透過循環呼叫readline()來實現的。如果提供size參數,size是表示讀取內容的總長,也就是說可能只讀到文件的一部分。
fp.write(str)                      , #把str寫到文件中,write()且不會在str q.  #把seq的內容全部寫到文件中(多行一次性寫入)。這個函數也只是忠實地寫入,不會在每行後面加上任何東西。
fp.close()                          #則為檔案關閉。 python會在一個文件不用後自動關閉文件,不過這項功能沒有保證,最好還是養成自己關閉的習慣。如果一個檔案在關閉後也操作會產生ValueError
fp.flush()                                     #地返回檔案作業標籤的目前位置,以檔案的開頭為原點
fp.next()                          所回復下一行,且將檔案作業移位至下一行。把一個file用於for … in file這樣的語句時,就是呼叫next()函數來實現遍歷的。
fp.seek(offset[,whence])            #將檔案打作業標記移至offset的位置。這個offset一般是相對於文件的開頭來計算的,一般為正數。但如果提供了whence參數就不一定了,whence可以為0表示從頭開始計算,1表示以目前位置為原點計算。 2表示以文件末端為原點進行計算。需要注意,如果文件以a或a+的模式打開,每次進行寫入操作時,文件操作標記會自動返回文件末尾。
fp.truncate([size])                 #將檔案裁至規定的大小,而預設的則裁至目前檔案作業標記的位置。如果size比文件的大小還要大,依據系統的不同可能是不改變文件,也可能是用0把文件補到對應的大小,也可能是以一些隨機的內容加上去。
二、目錄操作方法
1.建立目錄
os.mkdir("file")                   
2. oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile")            #oldfile只能是文件夾,newfile可以是文件,也可以是目標目錄
3.複製文件夾:
4.shutil.copytree("olddir","newdir")        #olddir和newdir都只能是目錄,且newdir必須不存在
5.重新命名檔案(目錄)
os.rename( "oldname","newname")              #以「該指令」
6.行動檔案(目錄)
shutil.move("oldpos","new 」)  pos 
os.remove("file")
8.刪除目錄
os.rmdir("dir")                                      #空白目錄、有內容的目錄都可以刪除
9.轉換目錄
os.chdir("path")                             ,以行存成列表的形式,但這樣有個嚴重的缺陷,就是可能會佔用記憶體過大,影響程式效能。因此可以採用一次讀取一行的辦法,記憶體中總是只有一行數據,這樣就大幅減少了記憶體的開銷。

如下程式所示:

f1 = open('haproxy.conf', 'r',encoding="utf-8")


for line in f1:

    print(line)

#

以上是python輸入和檔案操作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn