Python 文件操作

Python的文件操作主要通過open()函數進行,open()函數是個內置 (built-in) 函數

一般用法如下:

f = open(文件名,模式)

 

文件名:文件的路徑和名字,如果在當前文件夾下,直接寫文件名就可以了

模式:一般有如下幾種:

Character

Meaning

'r'

   只讀模式

'w'

   只寫模式,會將原來的內容擦掉,從頭開始寫入

'x'

   創建文件,如果文件已存在,則創建失敗

'a'

   繼續在文件的末尾寫入

'b'

   二進制模式

'+'

   可讀可寫

 

這裏的’+’模式不是很好理解,

官方文檔的解釋是這樣的:opena disk file for updating (reading and writing)

個人理解如下:

其實平時主要有兩種用法嘛,r+ ,w+

自己親自測試了一下,兩者的區別如下:

r+:從開始直接寫入文件,也就是從文件頭開始覆蓋文件,比如原來文件裏是abcdefg,當用r+模式寫入ABCD時,文件變成ABCDefg了

w+:先將文件清空再寫入,比如比如原來文件裏是abcdefg,當用w+模式寫入ABCD時,文件變成ABCD了

 

示例如下

__author__ = 'MrChen'
#python基本文件操作

myFile = open('靜夜思.txt', 'w')
myFile.write('靜夜思\n窗前明月光,\n疑是地上霜。\n')
myFile.close()

myFile = open('靜夜思.txt', 'a')
myFile.write('舉頭望明月,\n我叫郭德綱。\n')
myFile.close()

myFile = open('靜夜思.txt', 'r')
for line in myFile.readlines():
    print(line, end='')

myFile.seek(0)
print(len(myFile.readlines()))
myFile.close()


運行結果如下:

靜夜思
窗前明月光,
疑是地上霜。
舉頭望明月,
我叫郭德綱。
5

其中的\n是換行操作,如果不知道自己機器的換行符是啥,可以在IDLE裏這樣看,其實使用’\n’一樣可以達到換行的效果

>>> Import os
>>> os.linesep
'\r\n'


print(line, end='')

如果不加end=''那麼輸出的中間會空一行,因爲print默認在最後是存在一個換行符的,去掉最後的換行符只要將換行符換成空字符串就可以啦

myFile.seek(0)

將文件指針指向文件的開頭位置,因爲已經讀了一遍文件了,所以文件指針指到文件的末尾,如果還需要重新讀取一遍文件,需要將文件指針指向文件頭

myFile.readlines()

返回的是一個列表,本例中可以看到該列表有5項,每行都是列表中的一項






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章