日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

在編程語言中,文件讀寫是最常見的IO操作,Python/ target=_blank class=infotextkey>Python內置了讀寫文件的函數,其中包括open()函數、os.open()函數以及with open()語句。本文將詳細介紹這三種方法的使用方式、區別和最佳實踐。

open()

open()函數是Python內置的用于打開文件的函數,它接受一個文件路徑和打開模式作為參數,并返回一個文件對象。下面是一個示例:

file = open("example.txt", "r")

上述代碼中,我們使用open()函數打開了一個名為"example.txt"的文件,并以只讀模式(“r”)打開。常用的打開模式如下:

模式可做操作若文件不存在是否覆蓋r只讀error-r+讀寫errorTw只寫createTw+讀寫createTa只寫createF,尾部追加寫a+讀寫createF,尾部追加寫wb只寫二進制字符串,寫入bytescreateTrb只讀二進制字符串,返回byteserror-

使用示例

  1. 打開文件

要以讀文件的模式打開一個文件對象,使用Python內置的 open() 函數,傳入文件名和標示符:

f=open('test.txt', 'r')

當文件存在時,腳本會正常運行,當文件不存在或者路徑錯誤時,會拋出IOError錯誤,如下:

Traceback (most recent call last):

File "C:/Users/xxxx/PycharmProjects/xxxx/read_demo.py", line xxxx, in <module>

f=open('text.txt', 'r')

FileNotFoundError: [Errno 2] No such file or directory: 'text.txt'

  1. 讀取文件

如果文件打開成功,接下來,調用 read() 方法可以一次讀取文件的全部內容,Python把內容讀到內存,用一個str對象表示:

f=open('test.txt', 'r')

print(f.read())

注:如果文件本身編碼為gbk,讀取時將會出現報錯,如下:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xbd in position 30: illegal multibyte sequence

我們需要將文件編碼格式改為utf-8,增加一個encoding='utf-8'的參數,如下:

f=open('test.txt', 'r', encoding='utf-8')

print(f.read())

----------------

輸出結果如下:

2014年巴西世界杯,德國7:0巴西

  1. 關閉文件

使用open()函數打開文件后必須要關閉,否則將會一直占用系統資源,并且同時打開的文件數量是有限的,需要我們及時關閉,代碼如下:

f.close()

os.open()

os.open()函數是Python的os模塊提供的函數,用于以低級別的方式打開文件。它接受文件路徑和打開模式作為參數,并返回一個文件描述符。下面是一個語法示例:

os.open(file, flags[, mode])

參數說明:

  • file:要打開的文件
  • flags:該參數可以是以下選項,多個使用 “|” 隔開,只列常用的:
  • os.O_RDONLY: 以只讀的方式打開
  • os.O_WRONLY: 以只寫的方式打開
  • os.O_RDWR : 以讀寫的方式打開
  • os.O_AppEND: 以追加的方式打開
  • os.O_CREAT: 創建并打開一個新文件

使用示例:

import os

f = os.open('os_test.txt', os.O_RDWR|os.O_CREAT)

str = '拜仁永遠是第一!'

s = bytes(str, encoding='utf-8')

os.write(f, s)

os.close(f)

注:如果直接寫入字符串會報錯,報錯為a bytes-like object is required, not 'str',我們需要提前將字符串轉為bytes才可以成功寫入文件。

與open()類似,os.open()也需要close()掉,釋放系統資源。

with open()

with open()語句是一種更加簡潔和安全的文件操作方式。它會在文件使用完畢后自動關閉文件,無需顯式調用close()函數。下面是語法示例:

with open(file, 'mode') as f:

with open()語句的各種模式與open()語句一樣,這里不做贅述。

使用示例

with open('test.txt', 'r', encoding='utf-8')as f:

print(f.read())

#################

2014年巴西世界杯,德國7:0巴西

-------------------------------

# 同時打開多個文件

with open('test.txt', 'r', encoding='utf-8')as f1, open('os_test.txt', 'r', encoding='utf-8')as f2:

print(f1.read())

print(f2.read())

################

2014年巴西世界杯,德國7:0巴西

拜仁永遠是第一!

注:為了避免文件打開時出現UnicodeDecodeError建議在打開文件時,加上encoding='utf-8'參數。

異同點與最優選擇

open()函數與os.open()函數不會自動關閉文件,需要調用close方法,這一點是with open()的大優勢,不會造成資源泄漏的問題。

  • 使用open()函數和with open()語句是進行文件操作的常見做法,尤其是對于簡單的文件讀寫任務。
  • 需要以低級別方式操作文件時,才使用os.open()函數,它更適用于特定的場景,如需要在文件中定位和讀取特定位置的數據。
  • 在使用with open()語句時,可以在語句塊中進行其他的文件操作,例如寫入內容或定位文件指針位置。

綜合來說,執行文件操作時,最優選擇毫無疑問是with open(),建議執行文件操作時使用’with open()'語句!!!

總結

綜上所述,我們詳細介紹了Python中文件操作的三種方式:open()函數、os.open()函數和with open()語句。根據不同方式的優缺點,我們還是推薦使用最優秀的with open()語句來執行文件的操作。

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定