Python文件操作及函数

Python文件操作及函数

一、Python的文件操作:
1.1 文件操作的结构:
1、文件名(或者是文件的绝对路径)
2、操作权限(r读、w写、b以二进制的方式打开、a追加写入)

1.2 文件对象f.常用的操作方法

read()    把文件的所有内容都读取出来,返回一个字符串
write(data)  把字符串data写入到文件中,只接受字符串参数 data=”test”
readline   每次读取文件一行数据,返回每行的字符串数据 readlines 读取文件内容,返回一个list,每一行是一个元素
name()   文件名字
fileno()    文件描述符
close()   关闭文件
encoding()  文件编码
closed()    判断文件是否关闭(返回bool值:True或False)
seek(offset,whence)   offset偏移量(正数向后偏移,负数向前偏移) whence(0开头 1现在位置 2结尾)
tell()           返回文件光标位置
truncate(size)      有写权限可以使用,清空文件,size表示清空到什么位置,0位清空所有,例如:truncate(1) 保留1位

1.3 实际操作列举:
读取文件内容:
读取文件必须是存在的

f = open("1.txt","r") 
print(f.read())
f.close()

这里写图片描述

写入文件内容(没有中文字符时,只有英文字符):
写入文件不存在则会自动创建

f = open("1.txt","w")
print(f.write("xxxxxxxxxxxx\n yyyyyyyyyyyyyyyy\n  zzzzzzzzzzzzzz"))
f.close()

这里写图片描述

写入文件内容(存在中文字符):
存在中文字符时,需要在后面加上encoding=”utf-8” 指定编码类型,否则会显示为乱码。

f = open("3.txt","a",encoding="utf-8")
print(f.write("\n我打飞机啊时空裂缝就奥斯卡砥砺奋进上课了就"))
f.close()

这里写图片描述

为了日后维护代码修改方便,可以使用全局申明:
注意:全局申明要使用的所有字母都必须大写

NCODEING = "utf-8"
f = open("3.txt","w",encoding=ENCODEING)
f.write("\n发送到发上分大神")
f.close()

这里写图片描述

追加写入文件内容:

f = open("2.txt","a")
print(f.write("\n6666666666"))
f.close()

这里写图片描述

readline和readlines用法的区别:
readline 举例:

f = open("3.txt","r",encoding=ENCODEING)
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
f.close()

这里写图片描述
readlines 举例:

f = open("3.txt","r",encoding=ENCODEING)
print(f.readlines())
f.close()

这里写图片描述

从上面的结果输出结果对比,可以看出:
readline是每次读取文件一行数据,返回每行的字符串数据;
readlines是读取文件所有内容,返回一个list,每一行是一个元素

我们也可以使用for循环使用readlines打印每行字符串数据,enumerate打印行号;实现如readline每次只读一行数据的效果:

f = open("3.txt","r",encoding=ENCODEING)
for i,line in enumerate(f.readlines()):
    print("第{0}行内容: {1}".format(i,line))
f.close()

这里写图片描述

1.4 with as的用法:
在上面的读写操作后,我们每次都需要使用.close()来关闭文件显得特别麻烦。
而我们可以使用with as实现同样的效果,如下面2个举例编写:

with open("1.txt","r") as f:
print(f.read())
import codecs
with codecs.open("3.txt","r",encoding="utf-8") as f:
    print(f.read())

二、函数:
1.1 函数的介绍:

函数就是一种封装的思想,把细小的功能或者可以缩小的功能封装成一种函数。

函数定义(申明): 以关键字 def开头,函数名,参数: 回车缩进

 def  function(arg1,arg2,...):
     pass

函数的调用:

函数名直接插入参数

function(1,2,3)
arg1 ,arg2  形参(list、dict等的参数)
1,2,3       实参(实际值的参数)

1.2 函数中*args  **kwargs用法:

def fun(*args **kwargs):
    pass

举例如下:

fun(1,2,3,4,5,a=1,b=2)
a = 1
args = 2,3,4,5              list 一一对应
kwargs = {"a":1,"b":2}      dict 一一对应

解析:
a    代表实际数
*args   代表list
**kwargs  代表dict

1.3 匿名函数:
匿名函数的格式:

lambda x,y: x+y

举例,两数相加:

add = lambda x,y: x+y

一般不建议适用匿名函数,建议使用如下,意思与匿名函数一样:

def add(x,y):
    return x+y

猜你喜欢

转载自blog.csdn.net/oqqalex123456789d/article/details/79922253
今日推荐