首页
学习
活动
专区
圈层
工具
发布

Python基础(14)——文件

open打开文件

代码语言:javascript
复制
file_obj=open(file, mode='r', encoding='utf-8')

参数file用来指定文件的相对路径或绝对路径。参数mode用来指定文件的打开模式

模式

执行操作

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式

rb

以二进制格式打开一个文件用于只读,文件指针将会放在文件的开头,一般用于非文本文件如图片等

r+

打开一个文件用于读写。文件指针将会放在文件的开头

rb+

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等

w

打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件

wb

以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等

w+

打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件

wb+

以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等

a

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入

ab

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入

a+

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写

ab+

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写

with打开文件

使用with来管理上下文 with会打开文件将文件对象赋值给file_obj,然后在执行完子代码块的文件操作后自动调用file_obj.close()方法。

代码语言:javascript
复制
with open(file, mode='r', encoding='utf-8') as file_obj:

文件写入

方法名

含义

file_obj.write(s)

写入内容s。

file_obj.writelines(lines)

将序列lines中的所有元素写入。

代码语言:javascript
复制
file = open('demo.txt','w')
file.write('test')
file.close()

文件读出

方法名

含义

file_obj.read()

默认读取文件所有内容。

file_obj.readline()

默认读取一行内容。

file_obj.readlines()

默认读取文件所有行,以列表的形式返回。

代码语言:javascript
复制
f = open('demo.txt')
while True:
    line = f.readline()
    if line:
        print(line)
    else:
        break
f.close()

按照行读取整个文件

代码语言:javascript
复制
file = open('demo.txt')
for line in file.readlines():
    print(line)
file.close()

文件查找

每个文件对象内部都维护一个文件指针,以r或w模式打开文件时指针指向文件开头,以a模式打开文件时指针指向文件末尾,读写操作都是基于上一次指针所在位置的基础上进行偏移的。

文件操作

说明

file_obj.tell

文件操作指针位置

file_obj.seek(offset,whence)

控制指针的偏移:offset代表偏移量,单位为字节。whence默认值的为0,代表以文件开头为参照物。whence=1则代表以当前位置为参照物。where=2则代表以文件末尾为参照物。

文件夹的操作

文件操作

说明

os.mkdir

创建文件夹

os.getcwd()

获取当前目录

os.chdir

改变默认目录

os.listdir

获取目录列表

os.rmdir

删除文件夹

不存在就创建文件夹

代码语言:javascript
复制
if not os.path.exists("Python"):
    os.mkdir("Python")

存在就删除文件夹

代码语言:javascript
复制
if  os.path.exists("Python"):
    os.rmdir("Python")
下一篇
举报
领券