python中如何對文件進行讀寫操作?針對這個問題,今天小編總結這篇有關文件讀寫的文章,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。
open
(filemode='r'buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)
Character | Meaning |
---|---|
'r' | open for reading (default) |
'w' | open for writing, truncating the file first |
'x' | open for exclusive creation, failing if the file already exists |
'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 newlines mode (deprecated) |
The default mode is 'r'
(open for reading text, synonym of 'rt'
). For binary read-write access, the mode 'w+b'
opens and truncates the file to 0 bytes. 'r+b'
opens the file without truncation.
文本讀寫操作:open(), close(), read(), readlines(),
一、普通操作,open(),read(),close()
#!/usr/bin/python #coding=utf-8 import logging try: f = open('/home/seeing-zynq/Documents/Temp/Test/mydict.py', 'r') print f.read(); print 'read' except Exception as e: logging.exception(e) print 'error' raise finally: if f: f.close() print 'OK'
運行結果:
#!/usr/bin/python # -*- coding: utf-8 -*- class Dict(dict): def __init__(self, **kw): super().__init__(**kw) def __getattr__(self, key): try: return self[key] except KeyError: raise AttributeError(r"'Dict' object has no attribute '%s'" % key) def __setattr__(self, key, value): self[key] = value read OK
二、read()完后自動close()
with open('/home/seeing-zynq/Documents/Temp/Test/mydict.py', 'r') as f: print (f.read())
運行結果:
#!/usr/bin/python # -*- coding: utf-8 -*- class Dict(dict): def __init__(self, **kw): super().__init__(**kw) def __getattr__(self, key): try: return self[key] except KeyError: raise AttributeError(r"'Dict' object has no attribute '%s'" % key) def __setattr__(self, key, value): self[key] = value
三、為避免read()未知容量的大文件,保險起見用readlines().
print '------------------------------------' print '-----------------------------------' f = open('/home/seeing-zynq/Documents/Temp/Test/mydict.py', 'r') for line in f.readlines(): print(line.strip()) ##strip會將前面首字符前的空格去掉,造成行句沒有縮進 f.close() print 'over'
運行結果:
------------------------------------ ----------------------------------- #!/usr/bin/python # -*- coding: utf-8 -*- class Dict(dict): def __init__(self, **kw): super().__init__(**kw) def __getattr__(self, key): try: return self[key] except KeyError: raise AttributeError(r"'Dict' object has no attribute '%s'" % key) def __setattr__(self, key, value): self[key] = value over
四、讀二進制文件,如圖片,視頻等
>>> f = open('/Users/michael/test.jpg', 'rb') >>> f.read() b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六進制表示的字節(jié)
五、write()
with open('/home/seeing-zynq/Documents/Temp/IO/a.txt', 'w') as f: f.write('haha') with open('/home/seeing-zynq/Documents/Temp/IO/a.txt', 'r') as f: print (f.read()) "file.py" 37L, 758C wri
運行結果:
haha
看完上述內容,你們對python中的文件讀寫操作大概了解了嗎?如果想了解更多相關文章內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。