一.python 檔案訪問
1.在python中要訪問檔案,首先要開啟檔案,也就是open
r: 唯讀
w: 只寫 ,檔案已存在則清空,不存在則建立
a:追加 ,寫到檔案末尾。如果檔案存在,則在檔案最後去追
加。檔案不存在就去建立
+-:更新(可讀可寫)
r+ :以讀寫模式開啟
w+ :以讀寫模式開啟(參見w)
a+:以讀寫模式開啟(參見a)
rb:以二進位制讀模式開啟
wb:以二進位制寫模式開啟
ab:以二進位制追加模式開啟(參見a)
rb+:以二進位制讀寫模式開啟(參見r+)
wb+:以二進位制讀寫模式開啟(參見w+)
ab+: 以二進位制讀寫模式開啟(參見a+)
2.開啟檔案。open開啟檔案 read讀檔案,close關閉檔案
import codecs
fd = codecs.open('2.txt')
print fd.read()
fd.close()
>>> 11111
2222
33333
aaaaa
bbbbb
cccccc
3.檢視檔案有哪些方法
import codecs
fd = codecs.open('b.txt')
print fd.read()
print dir(fd)
fd.close()
>>> 11111
2222
333333
['close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']
1>fd.read() 方法,read()方法讀取的是整篇文件。
fd = codecs.open('2.txt')
text = fd.read()
print type(text)
>>>
2>replace()函式替換檔案中的某個元素。開啟檔案,讀取後,對整個字串進行操作.把2.txt 檔案中的1替換成z
fd = codecs.open('2.txt')
a1 = fd.read()
print a1
a2 = a1.replace('1','z')
print a2
>>> 11111
2222
33333
aaaaa
bbbbb
cccccc
zzzzz
2222
33333
aaaaa
bbbbb
cccccc
3> 寫檔案,codecs.open()函式,避免檔案亂碼
fd = codecs.open('3.txt','w')
fd.write('liuzhenchuan\n')
fd.write('hello world\n')
fd.write('xiaban\n')
fd.close()
>>> liuzhenchuan
hello world
xiaban
4>fd.readlines()方法,讀取檔案,最後把檔案每行內容作為乙個字串放在乙個list中
fd = open('3.txt')
print fd.readlines()
fd.close()
>>> ['liuzhenchuan\n', 'hello world\n', 'xiaban\n']
5>fd.readline()方法,讀取檔案,讀取檔案一行,型別為字串
>>> l
6>#fd.readline()方法,讀取檔案一行內容,返回乙個字串. # fd.next()方法,讀取檔案下一行內容,返回乙個字串
fd = codecs.open('3.txt','r')
print fd.readline()
print fd.next()
fd.close()
>>> liuzhenchuan
hello world
7>#write()方法,必須傳入乙個字串.
fd = codecs.open('5.txt','w+')
fd.write('a\nb\nc\n')
fd.close()
>>> abc
#writelines()方法,必須傳入乙個列表/序列
fd = codecs.open('6.txt','w')
fd.writelines(['123\n','234\n','345\n'])
fd.close()
>>> 123
234345
8>with用法,不需要用fd.close()關閉檔案
with codecs.open('3.txt','rb') as fd:
print fd.read()
fd.close()
>>> liuzhenchuan
hello world
xiaban
9>列印檔案行號和檔案內容
with codecs.open('2.txt') as fd:
for line,value in enumerate(fd):
print line,value,
>>> 0 liuzhenchuan
1 hello world
2 xiaban
10>過濾檔案某行的內容
with codecs.open('3.txt') as fd:
for line,value in enumerate(fd):
if line == 3-2:
print value
>>> hello world
11>匯入linecache模組,使用linecache.getline()方法,獲取檔案固定行的內容
import linecache
count = linecache.getline('3.txt',1)
print count
>>> liuzhenchuan
Python讀檔案基礎
下面舉乙個例子,例子的功能是讀取當前目錄下的a.txt文字檔案裡的內容並輸出列印到螢幕上。下圖是執行結果。程式 如下 python rfile open a.txt r words rfile.read print words rfile.close rfile open a.txt r words...
30 Python基礎 異常
目錄 1.異常的概念 2.捕獲異常 2.1 簡單的捕獲異常語法 2.2 錯誤型別捕獲 例項 捕獲未知錯誤 2.3 異常捕獲完整語法 3.異常的傳遞 4.丟擲 raise 異常 4.1 應用場景 4.2 丟擲異常 例項 try 嘗試執行的 except 出現錯誤的處理 簡單異常捕獲演練 要求使用者輸入...
30填Python基礎(高階函式)
如果 個函式的引數是另外 個函式,那麼這個函式就可以稱為 階函式 1 map map是系統內建函式,map函式接收兩個引數,個是函式,個是可迭代物件 iterable map將傳 的函式依次作 到序列的每個元素,並把結果作為新的iterator返回。map function,iterable 引數1...