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

    文章

    2822

    浏览量

    52802
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66841
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89586
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    虚拟化数据恢复—Hyper-V服务瘫痪危机:虚拟机数据文件丢失后的数据恢复案例

    一台服务器中虚拟机数据文件丢失,hyper-v服务受到影响,服务器无法正常使用。 北亚企安数据恢复中心的硬件工程师对服务器进行物理故障排查,未发现服务器存在物理故障。服务器数据恢复工程师对操作系统
    的头像 发表于 11-20 15:47 172次阅读

    TLE9893-2QKW62S SDADC解调后数据读取,中断方式无法读取数据怎么解决?

    使用TLE9893-2QKW62S的SDADC实现旋转变压器sin+、sin-及cos+、cos-数据解调,使用查询方式读取到SDADC的RES0 RESULT、RES1 RESULT(暂未知
    发表于 08-05 07:37

    使用iic对mpu9250进行读取数据读取磁力计数据时采用的是主控iic方式,但是读取的速度特别慢,为什么?

    使用iic对mpu9250进行读取数据读取磁力计数据时采用的是主控iic方式,但是读取的速度特
    发表于 03-14 07:40

    恩智浦eIQ Time Series Studio 工具使用攻略(四)-数据导入

    将分别介绍"异常检测", "分类", "回归"的数据集输入: 对于异常检测项目,必须导入两类数据文件:正常数据和异常数据文件。每个
    的头像 发表于 03-06 09:01 1652次阅读
    恩智浦eIQ Time Series Studio 工具使用攻略(四)-<b class='flag-5'>数据</b>导入

    如何将python文件导入到ROS系统中

    本文通过使用myCobot机械臂进行QR码视觉追踪的实践案例分析,介绍如何将 python 文件导入到 ROS 系统中。
    的头像 发表于 02-11 11:08 1198次阅读
    如何将<b class='flag-5'>python</b><b class='flag-5'>文件</b>导入到ROS系统中

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据

    和 MariaDB 数据库服务器以及托管数据库服务,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB
    的头像 发表于 01-17 12:18 844次阅读
    适用于MySQL和MariaDB的<b class='flag-5'>Python</b>连接器:可靠的MySQL<b class='flag-5'>数据</b>连接器和<b class='flag-5'>数据</b>库

    适用于Oracle的Python连接器:可访问托管以及非托管的数据

    ,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Windows、macOS 和 Linux 的 wheel 包分发。 特征
    的头像 发表于 01-14 10:30 739次阅读

    使用ADS8528软件模式串行方式,始终不能正确读取数据,为什么?

    我使用ADS8528软件模式串行方式时遇到一些问题,始终不能正确读取数据,请帮忙。我把软件和硬件放在附件中。设置了配置寄存器后,一直不能读到正确的配置寄存器的值。根据数据手册的说明,
    发表于 01-10 06:11

    ADS1274读取出来的数据一直为0,为什么?

    看了ADS1274的官方文件,但是没怎么懂。我用TMS320F2808来驱动,电路图如图,按照我的这种连接方式,将DSP设置为主机模式, 采用虚发数据方式
    发表于 01-09 08:21

    ADS1254用模拟SPI的方式读取数据读取到的数据呈现下降沿趋势,为什么?

    调试程序中,首先在方波的上升沿开启CLK(8M),开始转换,在用定时器中断等待43.4*6us后,用模拟SPI的方式读取数据,但是读取到的数据
    发表于 01-09 07:23

    炫通“文件来”,文件轻松来,用了都说“好”!

    ,要获取测试数据文件,需要人到现场,先取出设备的 SD 卡,再借助读取器将数据下载至电脑进行查看,随后再把 SD 卡插回设备。这种操作模式下,给客户带来以下麻烦: 1)用户需要携带电脑前往设备所在之处,不方便! 2)频繁地插拔
    的头像 发表于 01-06 15:44 563次阅读
    炫通“<b class='flag-5'>文件</b>来”,<b class='flag-5'>文件</b>轻松来,用了都说“好”!

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据文件资产迁移

    设备文件访问实现文件的迁移,难以获取文件同步完成的时间。为了保证更高的成功率,文件的迁移不建议继续通过该方式实现,推荐使用分布式
    发表于 12-24 10:11

    BSDF数据导入与拟合

    简介 在FRED中,列表形式的BSDF数据可以使用如下两种方式。 1.按照FRED可以识别的数据格式直接导入作为散射模型。 2.使用BSDF数据拟合工具来产生合适的函数模型。
    发表于 12-23 19:35

    BSDF数据导入与拟合

    简介 在FRED中,列表形式的BSDF数据可以使用如下两种方式。 1.按照FRED可以识别的数据格式直接导入作为散射模型。 2.使用BSDF数据拟合工具来产生合适的函数模型。
    发表于 12-13 10:05

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

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