【IO】01、文件對象
阿新 • • 發佈:2017-07-05
文件io
一、打開和關閉文件
1、文件打開和關閉
In [1]: help(open) Help on built-in function open in module io: open(file, mode=‘r‘, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) Open file and return a stream. Raise IOError upon failure. ========= =============================================================== Character Meaning --------- --------------------------------------------------------------- ‘r‘ open for reading (default) ‘w‘ open for writing, truncating the file first ‘x‘ create a new file and open it for writing ‘a‘ open for writing, appending to the end of the file if it exists ‘b‘ binary mode ‘t‘ text mode (default) ‘+‘ open a disk file for updating (reading and writing) ‘U‘ universal newline mode (deprecated) ========= =============================================================== In [6]: f = open("/tmp/shell/test.txt") # 打開一個文件,獲得一個文件對象 In [7]: type(f) Out[7]: _io.TextIOWrapper In [8]: f Out[8]: <_io.TextIOWrapper name=‘/tmp/shell/test.txt‘ mode=‘r‘ encoding=‘UTF-8‘> In [9]: f.mode # 文件對象的打開模式 Out[9]: ‘r‘ In [11]: f.name # 文件名 Out[11]: ‘/tmp/shell/test.txt‘ In [13]: f.read() # 讀取文件的內容 Out[13]: ‘Hello World!\nI love python\n‘ In [15]: f.readable() # 是否可讀 Out[15]: True In [16]: f.writable() # 是否可寫 Out[16]: False In [17]: f.closed # 文件對象是否關閉 Out[17]: False In [20]: f.close() # 關閉文件對象 In [21]: f.name Out[21]: ‘/tmp/shell/test.txt‘ In [22]: f.read() # 關閉後不能再查看了 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-22-bacd0e0f09a3> in <module>() ----> 1 f.read() ValueError: I/O operation on closed file. In [25]: f.closed Out[25]: True
文件對象的操作和打開方式是相關
2、open函數mode參數詳解
控制讀寫的模式:
‘r‘ :即mode=r,默認,只讀打開,不可寫;當文件不存在時,會拋出FileNotFoundError
‘w‘:只寫打開,不可讀;會清空原文件,當文件不存在時,會新建
‘x‘ :僅新建文件,只寫打開,不可讀;當文件存在時,會拋出FileExistError
‘a‘ :追加內容到文件末尾(最後一行的下面一行),只寫,不可讀;當文件不存在時,會新建
從讀寫的方面來看,只有r可讀不可寫,其它都是可寫不可讀
當文件不存在時,只有r拋出異常,其它的都創建新文件
當文件存在時,只有x拋出異常
從是否影響文件原始內容來看,只有w會清空文件
‘b‘ :以二進制的方式打開,
‘t‘
‘+‘
‘U‘
【IO】01、文件對象