python学习之文件与文件系统(一)
来源:互联网 发布:双色球走势数据分析 编辑:程序博客网 时间:2024/06/06 09:27
(一)文件操作基础
1.open()函数:该函数是内建的文件打开函数。文件实际上也是python的一种数据类型。当使用python的内建函数open打开一个文件后,就返回一个文件对象。函数原型如下:
open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)
这里罗列一下各参数的含义:
filename:要打开的文件名
mode:可选参数,文件打开模式
bufsize:可选参数,缓冲区大小
encoding:文件编码类型
errors:编码错误处理方法
newline:控制通用换行符模式的行为
closefd:控制在关闭文件时是否彻底关闭文件
这些字符可以组合起来表示对文件的操作模式,如‘rb'表示以只读模式打开二进制文件;’wt'表示以可写模式打开文本文件。bufsize为0表示打开文件不用缓冲,为1时表示进行缓冲,负值时表示使用系统默认值,任何其他值表示使用缓冲的字节数。encoding表示文件的编码类型,例如:‘gbk','utf-8’等,以避免读取文件内容出现乱码。
mode的主要分为下面几种:
r:只读(默认)
w:可写,会清除文件的内容
a:附加数据
b:二进制数据格式
x:新建一个文件,可写
+:打开文件直接更新
t:文本模式,默认
2.常用的文件操作如下:
file.read([n]):将整个文件读入到字符串中或者指定n字节。
file.readline([n]):读入文件的一行到字符串中
file.readlines():将整个文件按行读入列表当中。
file.writes(s):向文件中写入字符串
file.writelines(lines):向文件中写入一行数数据列表
file.close():关闭打开的文件
python处理文件中的数据,可以使用while语句来循环读取文件中的行:
while True:
line=f.readline()
if not line:
break
也可以用for来遍历文件中所有的行:
for line in f:
pass
示例如下:
def file_hdl(name='python.txt'):
f=open(name)
res=0
i=0
for line in f:
i+=1
print('第%s行的数据为:'% line.strip(),line)#focus on the format
print(line)
res+=int(line)
print("the sum of these numbers",res)
f.close()
if __name__== '__main__':
file_hdl()
这段代码定义了一个函数,它的功能是打开一个文件,迭代处理文件中的每一行数据,并把每一行数据转换为一个整数,然后累加并输出。
一般情况下载文件处理之前需要打开文件,文件处理结束之后还需要关闭来文件。在python中可以使用with语句来管理文件的打开和关闭。上面的代码可以改写成下面的:
def file_hdl(name='python.txt'):
with open(name) as f:
res=0
i=0
for line in f:
i+=1
print(line.strip())
res+=int(line)
print("the sum of these numbers",res)
if __name__== '__main__':
file_hdl()
2.用fileinput操作文件
fileinput模块提供了一个以行模式循环处理一个或者多个文件内容,它实现了对文件中行的懒惰迭代,读取时不需要把文件内容放入内存,这样可以提高程序的效率。
fileinput模块中常用的函数有:
input():返回能够用于迭代一个或多个文件中所有行的对象。
filename():返回当前文件的名称。
lineno():返回当前读取行的数量。
isfirstline():返回当前行是否是文件的第一行。
filelineno():返回当前读取行在文件中的行数。
示例如下:
import fileinput
def demo_fileinput():
with fileinput.input('python.txt') as lines:
for line in lines:
print("the line number is %d"%fileinput.lineno())
print(line.strip())
print(fileinput.filename())
if __name__=='__main__':
demo_fileinput()
1.open()函数:该函数是内建的文件打开函数。文件实际上也是python的一种数据类型。当使用python的内建函数open打开一个文件后,就返回一个文件对象。函数原型如下:
open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)
这里罗列一下各参数的含义:
filename:要打开的文件名
mode:可选参数,文件打开模式
bufsize:可选参数,缓冲区大小
encoding:文件编码类型
errors:编码错误处理方法
newline:控制通用换行符模式的行为
closefd:控制在关闭文件时是否彻底关闭文件
这些字符可以组合起来表示对文件的操作模式,如‘rb'表示以只读模式打开二进制文件;’wt'表示以可写模式打开文本文件。bufsize为0表示打开文件不用缓冲,为1时表示进行缓冲,负值时表示使用系统默认值,任何其他值表示使用缓冲的字节数。encoding表示文件的编码类型,例如:‘gbk','utf-8’等,以避免读取文件内容出现乱码。
mode的主要分为下面几种:
r:只读(默认)
w:可写,会清除文件的内容
a:附加数据
b:二进制数据格式
x:新建一个文件,可写
+:打开文件直接更新
t:文本模式,默认
2.常用的文件操作如下:
file.read([n]):将整个文件读入到字符串中或者指定n字节。
file.readline([n]):读入文件的一行到字符串中
file.readlines():将整个文件按行读入列表当中。
file.writes(s):向文件中写入字符串
file.writelines(lines):向文件中写入一行数数据列表
file.close():关闭打开的文件
python处理文件中的数据,可以使用while语句来循环读取文件中的行:
while True:
line=f.readline()
if not line:
break
也可以用for来遍历文件中所有的行:
for line in f:
pass
示例如下:
def file_hdl(name='python.txt'):
f=open(name)
res=0
i=0
for line in f:
i+=1
print('第%s行的数据为:'% line.strip(),line)#focus on the format
print(line)
res+=int(line)
print("the sum of these numbers",res)
f.close()
if __name__== '__main__':
file_hdl()
这段代码定义了一个函数,它的功能是打开一个文件,迭代处理文件中的每一行数据,并把每一行数据转换为一个整数,然后累加并输出。
一般情况下载文件处理之前需要打开文件,文件处理结束之后还需要关闭来文件。在python中可以使用with语句来管理文件的打开和关闭。上面的代码可以改写成下面的:
def file_hdl(name='python.txt'):
with open(name) as f:
res=0
i=0
for line in f:
i+=1
print(line.strip())
res+=int(line)
print("the sum of these numbers",res)
if __name__== '__main__':
file_hdl()
2.用fileinput操作文件
fileinput模块提供了一个以行模式循环处理一个或者多个文件内容,它实现了对文件中行的懒惰迭代,读取时不需要把文件内容放入内存,这样可以提高程序的效率。
fileinput模块中常用的函数有:
input():返回能够用于迭代一个或多个文件中所有行的对象。
filename():返回当前文件的名称。
lineno():返回当前读取行的数量。
isfirstline():返回当前行是否是文件的第一行。
filelineno():返回当前读取行在文件中的行数。
示例如下:
import fileinput
def demo_fileinput():
with fileinput.input('python.txt') as lines:
for line in lines:
print("the line number is %d"%fileinput.lineno())
print(line.strip())
print(fileinput.filename())
if __name__=='__main__':
demo_fileinput()
阅读全文
0 0
- python学习之文件与文件系统(一)
- 13.Python入门之文件与文件系统
- Python文件与文件系统
- Python学习之文件(一)
- php学习基础-文件系统(一) 文件处理,文件权限
- Python学习笔记(一)压缩与解压缩文件
- 菜鸟学习之路-------文件与文件系统打包
- Python学习笔记之文件(一)
- linux 文件系统 (一) 文件系统、文件结构、虚拟文件系统的定义及作用、VFS与文件系统的关系
- Python与机器学习之实战(一)
- linux驱动学习--第七天:第五章 Linux 文件系统与设备文件系统 之 linux文件操作
- python学习(二)之文件处理与错误异常
- php学习之目录与文件(一)
- Python文件与文件系统系列 -- stat模块
- Linux文件系统学习(一)之相关概念
- Linux文件系统学习(一)之相关概念
- VxWorks开发板驱动程序学习之文件系统(一)
- linux文件系统管理之文件与目录管理(终章)
- 安卓学习笔记(6)-控制ListView显示列表的数量
- 【洛谷】P1965 转圈游戏
- C程序内存布局
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
- LambdaHelper 通过反射调用Dal中方法是设置Lambda参数
- python学习之文件与文件系统(一)
- HNU OJ题库 1001B图像旋转问题
- Vue监听一个数组id是否与另一个数组id相同
- 7-34 任务调度的合理性(25 分)
- TCP协议简介
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
- Codeforces 853A Planning 【贪心】
- BZOJ 4569 萌萌哒 (并查集)
- TeeChart.ocx在32位机和64位机上的的安装方法