美文网首页
014-文件操作

014-文件操作

作者: 小D修行笔记 | 来源:发表于2022-07-30 12:35 被阅读0次

\color{red}{打开(open)、关闭(close)、读取(访问模式r、read、readline、readlines)、写入(访问模式w、write)、追加(访问模式a)}
\color{red}{文件和文件夹操作(os)}

文件操作的作用

  • 把一些内容(数据)存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力

文件的基本操作

  1. 打开文件
  2. 读写等操作
  3. 关闭文件
  • 可以只打开和关闭文件,不进行任何读写操作

打开、创建文件

  • 在python中,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件

open(name, mode)

  • name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
  • mode:设置打开文件的模式(访问模式):只读、写入、追加等
# 打开文件
file1 = open('test.txt', 'w')  # w:写入
模式 描述
r 以只读方式打开文件。文件的指针将会放在文件开头。这是默认模式
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式
r+ 打开一个文件用于读写。文件指针将会放在文件的开头
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头
w 打开一个文件只用于写入。如果该文件已经存在则打开文件,并从头开始编辑,即原有内容会被删除。如果该文件不存在,则创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已经存在,从开头开始编辑文件。如果该文件不存在,则创建新文件
w+ 打开一个文件,用于读写。如果该文件已经存在则打开文件,并从头开始编辑。如果不存在,则创建新文件
wb+ 以二进制格式打开一个文件用于读写。如果该文件已经存在,则打开文件,如果该文件不存在,则创建新文件
a 打开一个文件用于追加。如果该文件存在,文件指针将会放在文件的结尾。
ab 以二进制格式打开一个文件用于追加。如果该文件已经存在,文件指针将会放在文件的结尾。
a+ 打开一个文件用于读写。如果该文件已经存在,文件指针会放在文件的结尾。文件打开时会是追加模式。如果文件不存在,创建新文件用于读写
ab+ 以二进制格式打开一个文件用于追加。如果该文件已经存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写
  • b:表示文件是二进制文件
  • +:表示文件可读可写
  • r、w:文件指针在开头
  • a:文件指针在结尾

写入文件

文件对象.write('内容')

# 写入
file1.write('aaa')

访问模式

  • 访问模式,默认为 r 模式

r:只读

  • 如果文件不存在,报错
# r
file1 = open('test1.txt', 'r')
file1.close()

输出结果

Traceback (most recent call last):
  File "/Users/apple/Desktop/code/021-文件操作.py", line 10, in <module>
    file1 = open('test1.txt', 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'test1.txt'
  • 不支持写入操作
file1 = open('test.txt', 'r')
file1.write('aaa')
file1.close()

输出结果

Traceback (most recent call last):
  File "/Users/apple/Desktop/code/021-文件操作.py", line 11, in <module>
    file1.write('aaa')
io.UnsupportedOperation: not writable

w:写入

  • 如果文件不存在,创建文件。如果文件存在,打开文件
  • 支持写入操作,覆盖原有内容
file1 = open('test1.txt', 'w')
file1.write('ab')
file1.close()

a:追加

  • 如果文件不存在,创建文件
  • 支持写入操作,默认在文件末尾追加数据
file1 = open('test2.txt', 'a')
file1.write('cc')
file1.close()

读取文件

read()

文件对象.read(num)

  • num表示要从文件中读取的数据长度(单位是字节),如果没有传入num,那么就表示读取文件中所有数据
file1 = open('test3.txt', 'r')
temp = file1.read()
print(temp)
file1.close()

输出数据

a1
b2
c3
  • 如果读取指定字节数据,换行也会有占位
  • 文件读取之后,指针移动到读取数据之后的位置,读取到文件末尾,无法再继续读取数据

readlines()

文件对象.readlines()

  • readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素
file1 = open('test3.txt', 'r')
temp = file1.readlines()
print(temp)
file1.close()

输出数据

['a1\n', 'b2\n', 'c3']
  • readlines读取的数据带有换行
  • readlines读取的数据存在列表中

readline()

文件对象.readline()

  • 一次读取一行数据
file1 = open('test3.txt', 'r')
while True:
    temp = file1.readline()
    if temp == '':
        print('没有数据了')
        break
    print(temp)
file1.close()

输出结果

a1

b2

c3
没有数据了

关闭文件

文件对象.close()

# 关闭文件
file1.close()

seek

  • 用来移动文件指针

文件对象.seek(偏移量,起始位置)

  • 起始位置0:文件开头
  • 起始位置1:当前位置
  • 起始位置2:文件结尾

r改变文件指针变变量

# seek
file1 = open('test3.txt', 'r+')
file1.seek(3, 0)
print(file1.read())
file1.close()

输出结果

aa
bbbbb
ccccc
ddddd

文件和文件夹

  • 导入os模块

import os
os.函数名()

文件重命名

os.rename(目标文件名,新文件名)

删除文件

os.remove(目标文件名)

创建文件夹

os.mkdir(文件夹名字)

删除文件夹

os.rmdir(文件夹名字)

获取当前目录

os.getcwd()

改变默认目录

os.chdir(目录)

获取目录列表

os.listdir(目录)

相关文章

  • 014-文件操作

    文件操作的作用 把一些内容(数据)存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力 ...

  • 文件操作

    文件操作 目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思...

  • 文件和目录处理相关

    文件和目录处理相关 题: 考点:文件操作/写入操作; 延伸:目录操作函数,其他文件操作; 文件读写操作 文件系统函...

  • 09-文件操作

    一、文件操作流程 a.普通文件操作流程: 打开文件 操作文件 关闭文件 b. json文件操作流程: open(文...

  • VBS文件操作

    VBS文件操作'操作文本文件,操作fso对象(文件对象操作) --------------------------...

  • 文件操作

    文件操作:打开文件、读写文件、操作文件内容 写入文件操作:(把大象装入冰箱)1.打开文件 ...

  • 类的补充

    一.复习 1.文件操作a.操作流程:打开文件(open),操作文件,关闭文件with open() as 文件变量...

  • 文件

    目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思考:什么是...

  • 16总 正则表达式

    复习: 1.文件操作a.操作流程: 打开文件(open) --- 操作文件 --- 关闭文件(close)with...

  • 2018-09-10

    01-recode 1.文件操作a.操作流程:打开文件---》操作文件----》关闭文件with open() ...

网友评论

      本文标题:014-文件操作

      本文链接:https://www.haomeiwen.com/subject/xjgcwrtx.html