0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python读取数据文件的方式

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-04-11 15:30 次阅读

1、使用 open

常规操作

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

2、使用 fileinput

使用内置库 fileinput

import fileinput

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

3、使用 filecache

使用内置库 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 下写文件时一些编码错误,一般的建议是:

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

在 Python 2 下写文件,推荐使用 codecs.open,特别是有中文的情况下

如果希望代码同时兼容Python2和Python3,那么也推荐用codecs.open

5、使用 io 模块

使用 io 模块的 open 函数

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

经朋友提醒,我才发现 io.open 和 open 是同一个函数

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 函数,直接操作的是底层的 I/O 流,操作的时候是最麻烦的

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


审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2691

    浏览量

    47422
  • 函数
    +关注

    关注

    3

    文章

    4325

    浏览量

    62552
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84613
收藏 人收藏

    评论

    相关推荐

    数据数据恢复—ORACLE常见故障的数据恢复可行性分析

    Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件
    的头像 发表于 12-10 11:35 94次阅读

    oracle数据恢复—存储掉盘导致Oracle数据库文件大小变为0kb的数据恢复案例

    存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出
    的头像 发表于 11-21 11:29 117次阅读
    oracle<b class='flag-5'>数据</b>恢复—存储掉盘导致Oracle<b class='flag-5'>数据库文件</b>大小变为0kb的<b class='flag-5'>数据</b>恢复案例

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊
    的头像 发表于 07-18 14:53 407次阅读

    示波器文件存储方式介绍

    示波器作为电子测试领域的重要工具,其功能不仅限于实时显示和分析电信号波形,还涉及到数据的存储和导出。随着技术的发展,示波器提供了多种文件存储方式,以满足不同应用场景下的数据保存需求。本
    的头像 发表于 05-29 17:08 1128次阅读

    TLE9867使用定序器读取模拟输入数据,只想知道在读取ADC1数据时,中断方式和定序器方式有何不同?

    亲爱的团队, 我正在使用定序器读取模拟输入数据,只想知道在读取 ADC1 数据时,中断方式和定序器方式
    发表于 05-22 08:23

    麦科信(Micsig)示波器多种文件存储方式介绍:波形数据、屏幕截图与视频录制

    很多人对于示波器的波形数据的存储功能不是很熟悉,各种文件存储方式之间有何差异?如何重新打开保存的波形数据?以及如何对示波器进行截图和视频录制?借助本文我们一起深入了解麦科信示波器的先进
    的头像 发表于 05-06 15:45 711次阅读
    麦科信(Micsig)示波器多种<b class='flag-5'>文件</b>存储<b class='flag-5'>方式</b>介绍:波形<b class='flag-5'>数据</b>、屏幕截图与视频录制

    python解析netflow数据到csv的流程详解

    本文主要讲解了linux下通过tcpdump抓取netflow数据包,并将其导入到wireshark进行解析,然后通过wireshark导出数据为json文件,再通过python脚本将
    的头像 发表于 05-01 11:18 659次阅读
    <b class='flag-5'>python</b>解析netflow<b class='flag-5'>数据</b>到csv的流程详解

    python读取stm32串口读不了是哪里的问题?

    =ser.readlines()print(s) 可是什么都读取不了。如果用买的STM32开发板送的串口助手,能接收到数据。板子上烧录的printf输出程序。 请问各位大神,Python程序要怎么写才能
    发表于 04-24 08:07

    Python怎么读取STM32串口数据

    =ser.readlines()print(s) 可是什么都读取不了。如果用买的STM32开发板送的串口助手,能接收到数据。板子上烧录的printf输出程序。 请问各位大神,Python程序要怎么写才能
    发表于 04-24 07:30

    Python:从串口读取数据并以16进制格式展示

    本文凌顺实验室(lingshunlab.com)简单实现Python读取串口数据,并且按16进制格式显示出来。
    的头像 发表于 03-05 14:25 1077次阅读
    <b class='flag-5'>Python</b>:从串口<b class='flag-5'>读取</b><b class='flag-5'>数据</b>并以16进制格式展示

    python中open函数的用法详解

    python中open函数的用法详解 Python中的open()函数用于打开文件。它接受文件名和模式作为参数,并返回一个文件对象。
    的头像 发表于 01-30 15:31 2055次阅读

    【服务器数据恢复】Hyper-V虚拟化服务瘫痪的数据恢复案例

    Windows Server操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外还有一块硬盘存
    的头像 发表于 01-10 16:41 537次阅读
    【服务器<b class='flag-5'>数据</b>恢复】Hyper-V虚拟化服务瘫痪的<b class='flag-5'>数据</b>恢复案例

    labview visa读取数据越来越慢

    实际上,LabVIEW通过VISA(Virtual Instrument Software Architecture)来与仪器通信。但是,有时候在使用VISA读取数据时,可能会遇到读取速度变慢
    的头像 发表于 01-08 10:00 3092次阅读

    单片机如何读取键盘数据

    单片机作为一种嵌入式系统,往往需要与外部设备进行交互。其中之一的重要环节就是通过键盘读取输入的数据。在本文中,我们将详细介绍如何使用单片机读取键盘数据,包括键盘的原理、扫描
    的头像 发表于 01-04 17:09 1721次阅读

    SD NAND在对讲机领域的引领作用:高效安全存储、快速数据访问和可靠性的完美融合

    这种存储技术不仅能容纳大量语音和数据文件,而且具有高速读取的特点,保障了实时通信的质量。SD NAND还注重安全性,通过数据加密和访问控制功能,确保对讲机中的敏感信息受到保护。其耐用性使其能够抵御对讲机在使用中可能遇到的振动和冲
    的头像 发表于 12-28 00:00 710次阅读
    SD NAND在对讲机领域的引领作用:高效安全存储、快速<b class='flag-5'>数据</b>访问和可靠性的完美融合