Python读取数据文件的方式

描述

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)


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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分