詳解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!
推薦閱讀:
- python基礎之文件處理知識總結
- Python如何實現逐行讀取文本文件
- python必學知識之文件操作(建議收藏)
- python open讀取文件內容時的mode模式解析
- 詳解python中的異常和文件讀寫