中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于 for 循環 + with 向文件寫內容的幾點理解

發布時間:2020-07-16 22:34:51 來源:網絡 閱讀:159 作者:ckllf 欄目:編程語言

  import datetime

  import time

  # 最后文件中只寫入了最后一次的 msg(?)

  for i in range(0,5):

  ctime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

  msg = f"{i} - {ctime}"

  with open('test.txt',mode='w+',encoding='utf8') as f:

  f.write(msg)

  time.sleep(5)

  else:

  print('--------over')

  # 寫入5次,最后文件中每次寫入的內容會覆蓋前一次內容

  for i in range(0,5):

  ctime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

  msg = f"{i} - {ctime}"

  with open('test.txt',mode='w+',encoding='utf8') as f:

  f.write(msg)

  time.sleep(5)

  else:

  print('--------over')

  # 寫入5次,最后文件中每次寫入的內容會覆蓋前一次內容

  for i in range(0,5):

  ctime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

  msg = f"{i} - {ctime}"

  with open('test.txt',mode='w+',encoding='utf8') as f:

  f.write(msg)

  f.flush() # 使用 flush()

  time.sleep(5)

  else:

  print('--------over')

  # 文件中寫入了5條數據,寫入時間為文件關閉時,一次性寫入5條數據

  with open('test.txt', mode='w+', encoding='utf8') as f:

  for i in range(0,5):

  ctime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

  msg = f"{i} - {ctime}\n"

  f.write(msg)

  time.sleep(5)

  else:無錫婦科檢查醫院 http://www.87554006.com/

  print('--------over')

  # 文件中先后寫入了5條數據,寫入時間為每次調用 flush 后

  with open('test.txt', mode='w+', encoding='utf8') as f:

  for i in range(0,5):

  ctime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

  msg = f"{i} - {ctime}\n"

  f.write(msg)

  f.flush() # 使用 flush()

  time.sleep(5)

  else:

  print('--------over')

  # mode 為寫模式時,不能讀取文件內容(或者說讀取的文件內容為空)

  with open('test.txt', mode='w+', encoding='utf8') as f:

  r = f.read()

  print(r)

  注意:

  由于緩沖機制,實際上字符串可能并沒有立即寫入到文件中,除非緩沖區滿時或調用 flush()或 close()方法后。

  一般的文件流操作都包含緩沖機制,write方法并不直接將數據寫入文件,而是先寫入內存中特定的緩沖區。

  正常情況下緩沖區滿時,操作系統會自動將緩沖數據寫入到文件中。

  flush 方法是用來刷新緩沖區的,即將緩沖區中的數據立刻寫入文件,同時清空緩沖區。

  至于 close 方法,原理是內部先調用 flush 方法來刷新緩沖區,再執行關閉操作,這樣即使緩沖區數據未滿也能保證數據的完整性。

  如果進程意外退出或正常退出時而未執行文件的close方法,緩沖區中的內容將會丟失。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那坡县| 正宁县| 郑州市| 灯塔市| 明光市| 德格县| 西乌珠穆沁旗| 莎车县| 昭觉县| 丽水市| 老河口市| 河北区| 淳化县| 台前县| 台湾省| 惠来县| 通州区| 建阳市| 资阳市| 昌黎县| 繁峙县| 遂平县| 九龙城区| 武城县| 墨脱县| 时尚| 舒兰市| 山东省| 奉节县| 黑水县| 灵璧县| 汉源县| 鹤山市| 荣成市| 通州区| 酒泉市| 建宁县| 乌苏市| 萍乡市| 江华| 通化县|