【Python入门】day-11 文件操作

目录

1、open函数

2、write函数

3、read函数

4、文件指针 

5、close函数

6、with语句

7、判断函数


1、open函数

与C类似,在Python中使用open函数,可以进行文件操作,其原型为:open(file, mode)。

file表示文件的地址,既可以是绝地路径也可以是相对路径;mode表示操作模式,'r'表示只读、'w'表示重新写、'a'表示接着写

使用时可创建一个文件对象来装open函数的返回值:

f = open("D:/源代码/New_text.txt", 'r')

2、write函数

使用write函数可往文件里添加字符串,使用方法为:文件对象.write("xxx")

f = open("D:/源代码/New_text.txt", 'w')
f.write("lxy loves lwy.")
f.close()

此时我们打开对应文件可以看到字符串写入成功。如果没有对应的文件,那Python会直接创建一个新文件。

【Python入门】day-11 文件操作_第1张图片

 与write函数相同的还有writelines函数,不同点在于writelines并不会换行,需要自行加入转义字符才会换行。

3、read函数

使用read函数可以查看文件中的数据。

f = open("D:/源代码/New_text.txt", 'r+')
print(f.read())
f.close()

与read函数相同的还有readline函数,其不同在于一次只读取一行。

也可以使用for循环打印出来:

f = open("D:/源代码/New_text.txt", 'r+')
for each in f:
    print(each)
f.close()

4、文件指针 

文件操作是通过文件指针一个接一个的读取数据对象实现的,当读取完所有内容时,文件指针指向文件结尾,此时再调用read函数将什么也读不到:

f = open("D:/源代码/New_text.txt", 'r+')
for each in f:
    print(each)
print(f.read())
f.close()
# 结果表明f.read语句打印为空

此时我们可以使用tell函数来查看文件指针指向的位置:

f = open("D:/源代码/New_text.txt", 'r+')
for each in f:
    print(each)
print(f.tell())
# 打印为14

14表明此时文件指针指向第14个字符的位置,使用seek函数可自定义文件指针指向的位置。

f = open("D:/源代码/New_text.txt", 'r+')
for each in f:
    print(each)
print(f.tell())
f.seek(0)
print(f.tell())

重新指向0后,我们可以看到read函数又能读取内容了:

f = open("D:/源代码/New_text.txt", 'r+')
for each in f:
    print(each)
f.seek(0)
print(f.read())

5、close函数

每次使用open函数打开文件后,对文件进行的操作其实都保存在文件缓冲区中,只有使用close函数结束文件操作后,对文件进行的操作才能写入文件。close函数可以理解为保存功能。

f = open("D:/源代码/New_text.txt", 'r+')
f.close()

特别注意:每一个open都要有一个对应的close,不然会一直占用内存,后果严重。

6、with语句

若使用with语句,将会自动保存,不需要使用close函数,格式如下:

with open("D:/源代码/New_text.txt", 'r+') as f:
    f.write("I love Python!")

7、判断函数

使用readable和writable函数可以判断该文件是否可读和是否可写:

with open("D:/源代码/New_text.txt", 'r+') as f:
    print(f.readable())
    print(f.writable())
# 结果为两个True

'r+'表示可读可写模式

pathlib库中,有判断该文件对象是否为文件或者文件夹的函数,导入方式如下:

import pathlib
f = pathlib.Path("D:/源代码/New_text.txt")
print(f.is_dir())
print(f.is_file())
# 结果为:False True

is_dir函数可以判断该对象是否为文件夹,is_file函数可以判断该对象是否为文件。

更多方法可参考菜鸟教程:Python3 File 方法 | 菜鸟教程 (runoob.com)

你可能感兴趣的:(python)