0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python讀取數(shù)據(jù)文件的方式

python爬蟲知識(shí)分享 ? 來源:python爬蟲知識(shí)分享 ? 作者:python爬蟲知識(shí)分享 ? 2022-04-11 15:30 ? 次閱讀

1、使用 open

常規(guī)操作

with open('data.txt') as fp:
    content = fp.readlines()

2、使用 fileinput

使用內(nèi)置庫 fileinput

import fileinput

with fileinput.input(files=('data.txt',)) as file:
    content = [line for line in file]

3、使用 filecache

使用內(nèi)置庫 filecache,你可以用它來指定讀取具體某一行,或者某幾行,不指定就讀取全部行。

import linecache

content = linecache.getlines('werobot.toml')

4、使用 codecs

使用 codecs.open 來讀取

import codecs
file=codecs.open("README.md", 'r')
file.read()

如果你還在使用 Python2,那么它可以幫你處理掉 Python 2 下寫文件時(shí)一些編碼錯(cuò)誤,一般的建議是:

在 Python 3 下寫文件,直接使用 open

在 Python 2 下寫文件,推薦使用 codecs.open,特別是有中文的情況下

如果希望代碼同時(shí)兼容Python2和Python3,那么也推薦用codecs.open

5、使用 io 模塊

使用 io 模塊的 open 函數(shù)

import io
file=io.open("README.md")
file.read()

經(jīng)朋友提醒,我才發(fā)現(xiàn) io.open 和 open 是同一個(gè)函數(shù)

Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> (open1:=open) is (open2:=os.open)
False
>>> import io
>>> (open3:=open) is (open3:=io.open)
True

6、使用 os 模塊

os 模塊也自帶了 open 函數(shù),直接操作的是底層的 I/O 流,操作的時(shí)候是最麻煩的

>>> import os
>>> fp = os.open("hello.txt", os.O_RDONLY)
>>> os.read(fp, 12)
b'hello, world'
>>> os.close(fp)


審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2613

    瀏覽量

    47011
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61967
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84077
收藏 人收藏

    評論

    相關(guān)推薦

    如何實(shí)現(xiàn)Python復(fù)制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會(huì)看到一些用 Python 實(shí)現(xiàn)文件復(fù)制的特殊
    的頭像 發(fā)表于 07-18 14:53 ?253次閱讀

    麥科信(Micsig)示波器多種文件存儲(chǔ)方式介紹:波形數(shù)據(jù)、屏幕截圖與視頻錄制

    很多人對于示波器的波形數(shù)據(jù)的存儲(chǔ)功能不是很熟悉,各種文件存儲(chǔ)方式之間有何差異?如何重新打開保存的波形數(shù)據(jù)?以及如何對示波器進(jìn)行截圖和視頻錄制?借助本文我們一起深入了解麥科信示波器的先進(jìn)
    的頭像 發(fā)表于 05-06 15:45 ?418次閱讀
    麥科信(Micsig)示波器多種<b class='flag-5'>文件</b>存儲(chǔ)<b class='flag-5'>方式</b>介紹:波形<b class='flag-5'>數(shù)據(jù)</b>、屏幕截圖與視頻錄制

    python讀取stm32串口讀不了是哪里的問題?

    =ser.readlines()print(s) 可是什么都讀取不了。如果用買的STM32開發(fā)板送的串口助手,能接收到數(shù)據(jù)。板子上燒錄的printf輸出程序。 請問各位大神,Python程序要怎么寫才能
    發(fā)表于 04-24 08:07

    Python怎么讀取STM32串口數(shù)據(jù)?

    =ser.readlines()print(s) 可是什么都讀取不了。如果用買的STM32開發(fā)板送的串口助手,能接收到數(shù)據(jù)。板子上燒錄的printf輸出程序。 請問各位大神,Python程序要怎么寫才能
    發(fā)表于 04-24 07:30

    Python:從串口讀取數(shù)據(jù)并以16進(jìn)制格式展示

    本文凌順實(shí)驗(yàn)室(lingshunlab.com)簡單實(shí)現(xiàn)Python讀取串口數(shù)據(jù),并且按16進(jìn)制格式顯示出來。
    的頭像 發(fā)表于 03-05 14:25 ?771次閱讀
    <b class='flag-5'>Python</b>:從串口<b class='flag-5'>讀取</b><b class='flag-5'>數(shù)據(jù)</b>并以16進(jìn)制格式展示

    Python利用pandas讀寫Excel文件

    使用pandas模塊讀取Excel文件可以更為方便和快捷。pandas可以將Excel文件讀取為一個(gè)DataFrame對象,方便進(jìn)行數(shù)據(jù)處理
    的頭像 發(fā)表于 12-16 11:22 ?1030次閱讀
    <b class='flag-5'>Python</b>利用pandas讀寫Excel<b class='flag-5'>文件</b>

    python程序文件擴(kuò)展名主要有哪兩種

    Python程序文件的擴(kuò)展名主要有兩種,分別是.py和.pyw。 .py擴(kuò)展名: .py是Python程序最常見的擴(kuò)展名,它表示一個(gè)Python腳本
    的頭像 發(fā)表于 11-29 14:30 ?5719次閱讀

    python程序的文件擴(kuò)展名

    Python是一種高級編程語言,它的文件擴(kuò)展名為.py。在本文中,我們將詳細(xì)討論Python程序文件的擴(kuò)展名,包括其含義、用途以及與其他文件
    的頭像 發(fā)表于 11-29 14:25 ?1514次閱讀

    python中如何保存文件

    Python中,可以使用多種方式來保存文件。以下是一些常見的方法: 使用內(nèi)置的open()函數(shù):open()函數(shù)用于打開文件并返回一個(gè)文件
    的頭像 發(fā)表于 11-24 09:32 ?973次閱讀

    Dynaconf 輕松實(shí)現(xiàn) Python 動(dòng)態(tài)配置管理

    Dynaconf 是一個(gè)Python的第三方模塊,旨在成為在 Python 中管理配置的最佳選擇。 它可以從各種來源讀取設(shè)置,包括環(huán)境變量、文件、服務(wù)器配置等。 它適用于任何類型的
    的頭像 發(fā)表于 10-30 15:02 ?721次閱讀

    Python調(diào)用JS的 4 種方式

    Python 實(shí)現(xiàn) 本文將聊聊利用 Python 調(diào)用 JS 的4種方式 2. 準(zhǔn)備 以一段簡單的 JS 腳本為例,將代碼寫入到文件中 //norm.js //計(jì)算兩個(gè)數(shù)的和 fu
    的頭像 發(fā)表于 10-30 09:41 ?567次閱讀

    Python教你用 Rows 快速操作csv文件

    Rows 是一個(gè)專門用于操作表格的第三方Python模塊。 只要通過 Rows 讀取 csv 文件,她就能生成可以被計(jì)算的 Python 對象。 相比于 pandas 的 pd.rea
    的頭像 發(fā)表于 10-21 10:18 ?448次閱讀

    如何用Python自動(dòng)上傳文件到百度網(wǎng)盤

    要使用Python自動(dòng)上傳文件到百度網(wǎng)盤,你可以使用bypy開源模塊,它提供了豐富的功能,包括顯示文件列表、同步目錄、文件上傳。 僅支持 /apps/bypy 目錄。 1.準(zhǔn)備 開始之
    的頭像 發(fā)表于 10-16 11:28 ?964次閱讀
    如何用<b class='flag-5'>Python</b>自動(dòng)上傳<b class='flag-5'>文件</b>到百度網(wǎng)盤

    如何讀取 classpath 下的文件

    Java 程序經(jīng)常要讀取配置文件(properties)、圖片(jpg)、文本文件(txt、csv),我們可以使用 上次所講的 InputStream 實(shí)現(xiàn)。 public static void
    的頭像 發(fā)表于 10-10 15:02 ?847次閱讀
    如何<b class='flag-5'>讀取</b> classpath 下的<b class='flag-5'>文件</b>

    如何使用Python讀取寫入Word文件

    01 準(zhǔn)備 Python 是一種通用編程語言,也可以用于處理 Microsoft Word 文件。在本文中,我將向你介紹如何使用 Pythonpython-docx 庫
    的頭像 發(fā)表于 09-27 17:03 ?1868次閱讀