詳解python中的IO操作方法

python文件I/O

打印到屏幕:

最簡單的輸出方法是用print語句,你可以給它傳遞零個或多個用逗號隔開的表達式。

讀取鍵盤輸入:

Python提供瞭兩個內置函數從標準輸入讀入一行文本,默認的標準輸入是鍵盤。如下:

  • raw_input
  • input

raw_input函數

raw_input([prompt]) 函數從標準輸入讀取一個行,並返回一個字符串(去掉結尾的換行符):

str = raw_input("請輸入:")
print( "你輸入的內容是: ", str)
>>>
請輸入:(這裡輸入你要輸入的內容)
(這裡打印出來的是你上面輸出的內容)

input函數

input([prompt]) 函數和 raw_input([prompt]) 函數基本類似,但是 input 可以接收一個Python表達式作為輸入。

打開和關閉文件

你必須先用Python內置的open()函數打開一個文件,創建一個file對象,相關的方法才可以調用它進行讀寫.

open 函數

你必須先用Python內置的open()函數打開一個文件,創建一個file對象,相關的方法才可以調用它進行讀寫

file object = open(file_name [, access_mode][, buffering])
  • file_name:file_name變量是一個包含瞭你要訪問的文件名稱的字符串值。
  • access_mode:access_mode決定瞭打開文件的模式:隻讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為隻讀®。
  • buffering:如果buffering的值被設為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設為大於1的整數,表明瞭這就是的寄存區的緩沖大小。如果取負值,寄存區的緩沖大小則為系統默認。

下面是不同模式打開文件的完全列表:

file對象的屬性

一個文件被打開後,你有一個file對象,你可以得到有關該文件的各種信息。

以下是和file對象相關的所有屬性的列表:

實例如下:

fo = open("xiaochan.txt", "w")
print ("文件名: ", fo.name)
print ("是否已關閉 : ", fo.closed)
print ("訪問模式 : ", fo.mode)
print ("末尾是否強制加空格 : ", fo.softspace)
輸出:
文件名:  xiaochan.txt
是否已關閉 :  False
訪問模式 :  w
末尾是否強制加空格 :  0

close()方法

File 對象的 close()方法刷新緩沖區裡任何還沒寫入的信息,並關閉該文件,這之後便不能再進行寫入。 當一個文件對象的引用被重新指定給另一個文件時,Python 會關閉之前的文件。用 close()方法關閉文件是一個很好的習慣。

# 打開一個文件
fo = open("xiaochan.txt", "w")
print( "文件名: ", fo.name)
# 關閉打開的文件
fo.close()

file對象提供瞭一系列方法,能讓我們的文件訪問更輕松,使用read()和write()方法來讀取和寫入文件。

write()方法

write()方法可將任何字符串寫入一個打開的文件。需要重點註意的是,Python字符串可以是二進制數據,而不是僅僅是文字。write()方法不會在字符串的結尾添加換行符(’\n’),w表示打開一個文件隻用於寫入,實例如下:

# 打開一個文件
fo = open("xo.txt", "w")
fo.write( "www.soyboke.com\nVery good blog!\n")

# 關閉打開的文件
fo.close()
輸出:
www.runoob.com!
Very good site!

read()方法

read()方法從一個打開的文件中讀取一個字符串。需要重點註意的是,Python字符串可以是二進制數據,而不是僅僅是文字,實例如下(用到瞭上面的xo.txt文件): 語法如下:

fileObject.read([count])

在這裡,被傳遞的參數是要從已打開文件中讀取的字節計數。該方法從文件的開頭開始讀入,如果沒有傳入count,它會嘗試盡可能多地讀取更多的內容,很可能是直到文件的末尾。

# 打開一個文件
fo = open("xiaochan.txt", "r+")
str = fo.read(10)
print ("讀取的字符串是 : ", str)
# 關閉打開的文件
fo.close() 

輸出:

www.soybok

Python with open as函數

可以反復調用write()來寫入文件,但是務必要調用f.close()來關閉文件。 當我們寫文件時,操作系統往往不會立刻把數據寫入磁盤,而是放到內存緩存起來,空閑的時候再慢慢寫入。 隻有調用close()方法時,操作系統才保證把沒有寫入的數據全部寫入磁盤。 忘記調用close()的後果是數據可能隻寫瞭一部分到磁盤,剩下的丟失瞭。 所以,還是用with語句來得保險:

**with open as讀取一個文件,格式如下:

with open('a.txt', 'w') as f:
    f.write('1234567890\n')

到此這篇關於詳解python中的IO操作方法的文章就介紹到這瞭,更多相關python IO操作內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: