python 文件操作,函数

时间:2022-05-03 09:55:26

一,文件操作

读写文件是最常见的IO操作,Python内置了读写文件的函数。

1,读文件

f = open("1.py","r",encoding="utf-8") print(f.read())
f.close()
结果为:hello 哈哈

参数1:文件名 可以是绝对路径 参数二:对文件的操作 r读 w写 b二进制 a追加 参数三:encoding 编码

标示符'r'表示读,这样,我们就成功地打开了一个文件。

如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在。

如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示。

最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,

并且操作系统同一时间能打开的文件数量也是有限的。

每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:

with open("1.txt","r",encoding="utf-8") as f:  print(f.read())
这样就不必调用f.close()方法了。

2,写文件
写文件和读文件是一样的,唯一区别是调用 open() 函数时,传入标识符 'w' 或者 'wb' 表示写文本文件或写二进制文件。

写入文件时,当文件不存在时,直接创建。会覆盖原有文件内容。  
with open("1.txt","w",encoding="utf-8") as f:  print(f.write("hello"))
3,向文件中追加内容
with open("1.txt","a",encoding="utf-8") as f:  print(f.write("hello"))

区别是调用open()函数时,传入标识符'a'

二,文件的常用方法

# read() 把文件的所有内容都读取出来,返回一个字符串。 # write() 把字符串data写入到文件中,只接受字符串参数。 # readline() 每次只读取文件的一行数据,返回该行的字符串数据。 # readlines() 读取文件内容,返回一个list,每一行为列表中的一个元素。
with open("1.txt","r",encoding=ENCODING) as f:
    print(f.readlines())
结果为:['a\n', 'b\n', 'c\n']
 
可以使用enumerate()打印行号及内容。
with open("1.txt","r",encoding=ENCODING) as f:
    for i,j in enumerate(f.readlines()):
        print(i,j)
结果为:0 a

    1 b

    2 c
# name() 文件名 # fileno() 文件描述符 # close() 关闭文件 # encoding() 文件编码 # closed() 判断文件是否关闭 # seek(offset,whence) offset偏移量(正数向前,负数向后) # whence 0开头 1现在 2末尾 控制文件光标,文件需要使用b方式打开。 # tell() 返回文件的光标位置 # truncate(size) 只有写文件用,size保留多少位,0位清空文件。

三,函数

封装的一种思想,把细小的功能或者可以缩小的功能封装成一个函数。
定义:  以关键字def开头,函数名,参数:回车缩进
 def function(arg1,arg2,...):
     pass

调用:   function(1,2,3) 函数名直接传入参数

如:定义一个计算和的函数add(),需要传入两个参数,返回两个参数相加的结果。

def add(x,y):
    return x+y
print(add(1,2))
结果为:3