python學習之讀寫檔案

whisperrr發表於2021-08-19

  python------檔案的讀寫操作

  檔案的讀操作

  讀取txt檔案

  在python中讀取檔案時,用r的方法來讀取,當檔案就在這個工程下面可以用相對路徑。當檔案在其他路徑下面時用絕對路徑。

  注意:python中絕對路徑應該用/ 或者用\\

  在讀取檔案時最好加上encoding='utf-8'避免出現亂碼的情況

  # 在用這種格式讀取檔案時,要注意後面要關閉檔案

  file = (open(file='致橡樹.txt', mode='r', encoding='utf-8'))

  try:

  # 防止讀取的檔案位元組數過大,可以批次讀取 data = file.read(32) while data: print(data, end='') data = file.read(32)

  finally: file.close()

  # 用這種方法可以在離開with 上下文的時候會自動執行某些操作,檔案會自動關閉

  with open(file='致橡樹.txt', 'r', encoding='utf-8') as file:

  data = file.read(32) while data: print(data, end='') data = file.read(32)

  二進位制讀取圖片

  二進位制讀取採用rb的方法

  file = open('xl.jpg', 'rb')

  # 想獲得檔案位元組數,用seek方法移動檔案到末尾

  print(file.seek(0, 2))

  # 將檔案指標移動到最開始的位置

  file.seek(0, 0)

  try: data = file.read(512) while data: print(data, end='') data = file.read(512)

  finally: file.close()

  讀取csv檔案

  import csv

  with open('2018年北京積分落戶資料.csv', encoding='utf-8') as file: # delimiter 分隔符,預設是逗號,可以變成其他符號 # quotechar 包裹字元的符號,預設是雙引號,可以變成其他符號 # 當 分隔符是逗號,包裹字元的是雙引號時,可以不用寫出來 reader = csv.reader(file, delimiter=',', quotechar='"') for row in reader: print(row)

  檔案的寫操作

  操作模式 w沒有檔案建立這個檔案寫入內容,有這個檔案重寫這個檔案

  file = open('靜夜思.txt', 'w', encoding='utf-8')

  try: file.write('床前明月光\n') file.write('疑是地上霜\n') file.write('舉頭望明月\n') file.write('低頭思故鄉\n')

  finally: file.close() 大連無痛人流哪家好  

  操作模式a,將檔案指標移動到末尾在加新的內容,在檔案本來的內容後面加新的內容

  with open('靜夜思.txt', 'a', encoding='utf-8') as file: file.write('預知後事如何\n') file.write('請聽下回分解\n')

  床前明月光

  疑是地上霜

  舉頭望明月

  低頭思故鄉

  預知後事如何

  請聽下回分解

  檔案複製

  方法:邊讀邊寫。

  寫二進位制檔案用wb

  例:將圖片複製到其他路徑下

  def cope(file1_corss, file2_corss): with open(file1_corss, 'rb') as file1: with open(file2_corss, 'wb') as file: data = file1.read(512) while data: file.write(data) data = file1.read(512)

  if __name__ == '__main__': cope('xl.jpg', 'd:/xl.jpg')

  寫csv檔案

  with open('result.csv', 'w', encoding='utf-8', newline='') as file1: writer = csv.writer(file1) writer.wri


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005147/viewspace-2787816/,如需轉載,請註明出處,否則將追究法律責任。

相關文章