真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中怎么讀取資源文件

本篇文章給大家分享的是有關(guān) Python 中怎么讀取資源文件,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專(zhuān)注成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)推廣,空間域名,網(wǎng)頁(yè)空間,網(wǎng)站運(yùn)營(yíng)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,請(qǐng)聯(lián)系創(chuàng)新互聯(lián)公司

當(dāng)你把一個(gè)資源文件和一個(gè).py文件放在一起的時(shí)候,你可以直接在這個(gè).py文件中,使用文件名讀取它。例如:

with open('test.txt') as f:     content = f.read() print('文件中的內(nèi)容為:', content)

運(yùn)行效果如下圖所示:

Python 中怎么讀取資源文件

但請(qǐng)注意,這里我是直接運(yùn)行的read.py這個(gè)文件。如果資源文件是存放在一個(gè)包(package)里面,然后我們?cè)谕饷嬲{(diào)用這個(gè)包里面的.py文件會(huì)怎么樣呢?我們?cè)囈辉嚕?/p>

Python 中怎么讀取資源文件

可以看到,現(xiàn)在Python 已經(jīng)找不到這個(gè)文件了。這是因?yàn)椋覀兊娜肟诔绦蛟? ~/get_title文件夾中,而test.txt文件在~/get_title/util文件夾中。因?yàn)槲覀冞\(yùn)行的是main.py,所以 Python  會(huì)在~/get_title文件夾里面尋找test.txt,自然就找不到了。

如果是引用包里面的其他模塊,可以使用相對(duì)路徑。例如引用同一個(gè)包里面名叫sql_util.py里面的conn對(duì)象,我們可以直接寫(xiě)為from  .sql_util import conn。但是資源文件不能使用相對(duì)路徑來(lái)讀取,如下圖所示:

Python 中怎么讀取資源文件

有一個(gè)笨辦法,就是獲取當(dāng)前正在運(yùn)行的這一行代碼所在的文件夾,然后拼出資源文件的完整路徑。修改 read.py 文件:

import os  def read_file():     current_folder = os.path.dirname(__file__)     resource_path = os.path.join(current_folder, 'test.txt')     with open(resource_path) as f:         content = f.read()     print('文件中的內(nèi)容為:', content)

運(yùn)行效果如下圖所示:

Python 中怎么讀取資源文件

但這樣寫(xiě)稍顯麻煩。

如果你的 Python 版本不低于3.7,那么你可以使用importlib.resources來(lái)快速讀取資源文件:

from importlib import resources with resources.open_text('包名', '資源路徑') as f:     content = f.read()

運(yùn)行效果如下圖所示:

Python 中怎么讀取資源文件

如果你讀取的不是文本文件,那么你可以把resources.open_text改成resources.open_binary,從而讀取二進(jìn)制文件。

但需要注意的是,資源文件必須放在包的根目錄。這樣才能正確讀取。如果資源文件在包內(nèi)部的子目錄中,importlib.resources是不能直接讀取的。

例如我們的包為util,里面有一個(gè)文件夾叫做deep_folder,資源文件test.txt放在deep_folder中,此時(shí),我們?nèi)绻x取這個(gè)資源文件,就必須把在deep_folder文件夾中創(chuàng)建一個(gè)__init__.py,把它也變成一個(gè)包。然后修改read.py的代碼:

from importlib import resources from . import deep_folder   def read_file():     with resources.open_text(deep_folder, 'test.txt') as f:         content = f.read()     print('文件中的內(nèi)容為:', content)

把deep_folder作為一個(gè) module 導(dǎo)入,然后把這個(gè) module  作為resources.open_text的第一個(gè)參數(shù)。這樣才能正確讀取,如下圖所示:

Python 中怎么讀取資源文件

以上就是 Python 中怎么讀取資源文件,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享文章:Python中怎么讀取資源文件
分享URL:http://weahome.cn/article/gjsiji.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部