Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式

这篇具有很好参考价值的文章主要介绍了Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件:

内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。

像移动硬盘,内存卡,网盘等等。

一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别。

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

思考:文件操作包含哪些内容呢?

在日常操作中,对文件的主要操作:创建文件、打开文件、文件读写、文件备份等等

读写----一行行读,一行行写,有步骤的----最常用的。

文件操作的作用

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

文件的基本操作

1、文件操作三步走

① 打开文件

② 读写文件

③ 关闭文件

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

注意:可以只是打开,关闭,不读不写。

2、open函数打开文件

在Python,使用open()函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下:

open  英 /ˈəʊpən/  v. 开,打开;开封,开启;


f = open(name, mode)    # name 就是要打开/创建 的文件名
注:返回的结果是一个file文件对象(后续会学习,只需要记住,后续方法都是f.方法())

name:是要打开的目标文件名的  字符串  (可以包含文件所在的具体路径)。

mode:设置打开文件的模式(访问模式):只读r、写入w、追加a等。

name   英 /neɪm/  n. 名字,名称;

mode    英 /məʊd/   n. 方式,做法,模(式)


> r模式:就是read  ----读。。代表以只读模式打开一个已存在的文件,后续我们对这个文件只能进行读取操作。如果文件不存在,则直接报错。另外,r模式在打开文件时,会将光标放在文件的一行。

> w模式:就是write ----写。。代表以只写模式打开一个文件,文件不存在,则自动创建该文件。w模式主要是针对文件写入而定义的模式。但是,要特别注意,w模式在写入时,光标也是置于第一行同时还会清空原有文件内容。

> a模式:就是append----追加。。代表以追加模式打开一个文件,文件不存在,则自动创建该文件。a模式主要也是针对文件写入而定义模式。但是和w模式有所不同,a模式不会清空文件的原有内容,而是在文件的尾部追加内容。

3.write函数写入文件    

write  英 /raɪt/  v. 写作,编写;写道;写信;书写,写字;谱写(音乐作品);编写(计算机程序);将(计算机中的)数据写入(磁盘或其他储存媒体);

基本语法:


f.write('要写入的内容,要求是一个字符串类型的数据')


4.close函数关闭文件

f.close()    # 后面没有其他的


入门级案例


# 1、打开文件
f = open('python.txt', 'w')
# 2、写入内容
f.write('人生苦短,我学Python!')
# 3、关闭文件
f.close()

执行后,不会输出内容,但是会自动生成文件。文件中有写入write的文字内容。

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm


注意:中文乱码问题,默认情况下,计算机常用编码ASCII、GBK、UTF-8

解决写入中文乱码问题


# 1、打开文件
f = open('python.txt', 'w', encoding='utf-8')
# 2、写入内容
f.write('人生苦短,我学Python!')
# 3、关闭文件
f.close()

文件的读取操作

read(size)方法:主要用于文本类型或者二进制文件(图片、音频、视频...)数据的读取

size表示要从文件中读取的数据的长度(单位是字节),如果没有传入size,那么就表示读取文件中所有的数据。

size  英 /saɪz/ n. 大小,尺寸;庞大,巨大;


f.read()  # 读取文件的所有内容
f.read(1024)  # 读取1024个字节长度文件内容字母或数字,一个占1个字节长度。中文utf-8占3个字节长度。

# 1、打开文件---encoding='utf-8' 解决写入中文乱码问题,如果utf-8不可以,换 gbk试试
f = open('python.txt', 'r', encoding='utf-8')
# 2、使用read()方法读取文件所有内容   contents  内容
contents = f.read()   # f.read() 读取文件的所有内容
print(contents)
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

readlines()方法:主要用于文本类型数据的读取

readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。


# 1、打开文件
f = open('python.txt', 'r', encoding='gbk')
# 2、读取文件
lines = f.readlines()   # 这里的lines是一个列表
print(lines)   # 这里打印输出的lines是一个列表  包含隐藏的 \n  换行
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm


注意:上面输出打印的是列表,是一整行的,不和文件里的一样是两行----所以可以用for循环遍历输出。

相关链接:Python-----for循环基本语法及其应用---对序列进行遍历循环--内部会自动更新计数器(类似while循环里面的 i += 1)_python编程for循环计数器-CSDN博客


# 1、打开文件
f = open('python.txt', 'r', encoding='gbk')
# 2、读取文件
lines = f.readlines()
for line in lines:   # 进行for循环遍历,换行输出.line 可以随意设置名称。
    print(line)
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

循环遍历两次,相当于输出两次\n就会有空行。

取消空行:end = ‘’   就是不换行的意思


# 1、打开文件
f = open('python.txt', 'r', encoding='gbk')
# 2、读取文件
lines = f.readlines()
for line in lines:   # 进行for循环遍历,换行输出.line 可以随意设置名称。
    print(line, end='')
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

文件操作的mode模式

模式 描述
r 只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式,不会创建新文件。。----只能读已存在文件,否则报错,如:FileNotFoundError: [Errno 2] No such file or directory: 'pyth1on.txt'。
rb 二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头不会创建新文件。
rb+ 二进制格式打开一个文件用于读写。文件指针将会放在文件的开头
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
> 虽然mode文件操作模式很多,但是我们只需要记住3个字符即可。r、w、a

> r+、w+、a+,代加号,功能全,既能读,又能写(区别在于指针到底指向不同)

> rb、wb、ab,代b的字符,代表以二进制的形式对其进行操作,适合读取文本或二进制格式文件,如图片、音频、视频等格式

> rb+、wb+、ab+,代加号,功能全,既能读,又能写(区别在于指针到底指向不同)、

总结,  r   w 都是指针指向开头,a 是指针指向末尾。这些是专门读取文本的。

   r   w   a  和  b  组合,就是可以打开图片、音频、视频等格式

关于写入

使用  r+  ,写入-------根据指针,以及替换的字符长度,输出最新结果。


# 1、打开文件---r+  打开一个文件用于读写。文件指针将会放在文件的开头不会创建新文件。
f = open('python.txt', 'r+', encoding='utf-8')
# 2、读取文件----'r+',配合 write,会把文件原本开头的内容,替换掉。进行覆盖
f.write('5555')   # 注意,这个是4个 5,原本的你好,相当于4个字符。
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm


# 1、打开文件---r+  打开一个文件用于读写。文件指针将会放在文件的开头。不会创建新文件。
f = open('python.txt', 'r+', encoding='utf-8')
# 2、读取文件----'r+',配合 write,会把文件原本开头的内容,替换掉。进行覆盖
f.write('我')   # 注意,这个是2个字符。一个中文字相当于两个字符。
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm


使用  w+  ,写入-------根据指针,先清空原先文件中所有内容,再写入新的内容


# 1、打开文件---w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除如果该文件不存在,创建新文件。
f = open('python.txt', 'w+', encoding='utf-8')
# 2、读取文件----'w+',配合 write,会把文件原本开头的内容,先情况。再进行写入
f.write('5')   # 注意,是先清空原先文件中所有内容,再写入新的内容
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm
 


使用  a+  ,写入-------根据指针,移动到末尾,追加写入一个。


# 1、打开文件---a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
f = open('python.txt', 'a+', encoding='utf-8')
# 2、读取文件----'a+',配合 write,在末尾追加写入内容
f.write('9')   # 注意,是在末尾追加
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm


# 1、打开文件---a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。
# 如果该文件不存在,创建新文件用于读写。
f = open('python.txt', 'a+', encoding='utf-8')
# 2、读取文件----'a+',配合 write,在末尾追加写入内容
f.write('\n9')   # 注意,是在末尾追加,\n 换行符。
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm


读写  rb+   二进制格式打开一个文件用于读写。文件指针将会放在文件的开头


# 1、打开文件---rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
# 如果该文件不存在,创建新文件用于读写。
f = open('python.txt', 'rb+')
# 2、读写文件---读2个字节。
contents = f.read(2)
print(contents)
# 3、关闭文件
f.close()

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm


seek函数移动光标

无论是文件读操作,还是写操作。其起始位置都是文件光标决定的。

r => 文件头

w => 清空文件内容,指向文件头

a => 文件尾

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm

光标在刚打开文件时,默认情况下是根据r、w、a模式相关固定的。但是我们可以通过某些方法,人为移动光标。可以通过seek方法实现。

seek  英 /siːk/  v. 寻找;寻求,谋求;请求(帮助),征求(意见);试图,设法;找出,找到(seek sb./sth. out);自然地向……移动

offset   英 /ˈɒfset/ n. 抵消物,补偿;偏离量偏离距离

whence 英 /wens/ adv. 从何处;由此;到原来的地方


f.seek(offset,whence=0)

offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:给offset参数一个定义,表示要从哪个位置开始偏移;0 代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

实际工作中,seek主要用于重置光标到起始位置。


f.seek(0)   # 0 代表从文件开头开始算起 0 代表从文件开头开始算起
或
f.seek(0, 0)   # 0 代表从文件开头开始算起  0 代表从文件开头开始算起

其他应用:


# 读写  rb+   二进制格式打开一个文件用于读写。文件指针将会放在文件的开头
>>> f = open('workfile', 'rb+')
>>> f.write(b'0123456789abcdef')
16
>>> f.seek(5)      # 等同于  f.seek(5,0)----从0开始向右移动5个字节  
5
>>> f.read(1)
b'5'
>>> f.seek(-3, 2)  # 从右向左移动3个字节,offset:开始的偏移量,也就是代表需要移动偏移的字节数。。。whence:给offset参数一个定义,表示要从哪个位置开始偏移;2代表从文件末尾算起。----也就是,从末尾向左移动3个字节----def
13
>>> f.read(1)
b'd'

# 读写  rb+   二进制格式打开一个文件用于读写。文件指针将会放在文件的开头
f = open('python.txt', 'rb+')
f.write(b'0123456789abcdef')
a = f.seek(5)     # 等同于 f.seek(5,0)----从0开始向右移动5个字节 
b = f.read(1)
c = f.seek(-3, 2)  # 从右向左移动3个字节,offset:开始的偏移量,也就是代表需要移动偏移的字节数。。。whence:给offset参数一个定义,表示要从哪个位置开始偏移;2代表从文件末尾算起。----也就是,从末尾向左移动3个字节----def
d = f.read(1)
print(a,b,c,d)

Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式,python+pycharm---解析,python,开发语言,pycharm文章来源地址https://www.toymoban.com/news/detail-778655.html

到了这里,关于Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【100天精通python】Day19:python文件及目录操作_基本文件操作

    目录 专栏导读  1 文件的创建打开和关闭 2.1 使用内置函数open(),close()创建打开和关闭

    2024年02月15日
    浏览(34)
  • 【100天精通python】Day19:文件及目录操作_基本文件操作

    目录 专栏导读  1 文件的创建打开和关闭 2.1 使用内置函数open(),close()创建打开和关闭

    2024年02月14日
    浏览(41)
  • python读写文件操作的三大基本步骤

    目录 基本步骤 常用函数 open()函数 close()函数 read()函数 readlines()函数 readline()函数 write()函数 writelines()函数 with语句 读写操作的应用: 拷贝文件  with 语句的嵌套 逐行拷贝 1. 打开文件:open(filepath, mode, encoding) 2. 读写文件:read() / write() 3. 关闭文件:close() python读取文件操作实

    2024年02月22日
    浏览(31)
  • 【Python】Python读写.xlsx文件(基本操作、空值补全等)

    本文介绍如何使用使用 pandas 库来读取xlsx文件中的数据。 需要安装openpyxl库才可以读取xlsx文件,使用pip install openpyxl。 当然也可以用其他的库,比如openpyxl、xlrd,可以参考: https://blog.csdn.net/moasad/article/details/120120673 https://blog.csdn.net/liuyingying0418/article/details/101066630 2.1 基本操

    2023年04月13日
    浏览(39)
  • 五、文件系统组成和基本操作

    1、Linux文件系统结构 Linux:是一个单根倒树状的文件系统结构 Windows:是多根多树状的文件系统结构 文件系统从根目录开始,表示为一个单独的 ‘ / ’ 字符 文件命名大小写敏感 路径以 ‘ / ’ 为分隔 2、 Linux重要目录 /root:超级用户root的家目录(用户文件默认存放的位置)

    2024年02月05日
    浏览(36)
  • Rsync 文件同步(一):系统基本操作

    Rsync (remote sync) UNIX 及类 UNIX 平台下一款数据镜像备份软件 很神奇 不同于 FTP 或其他文件传输服务进行全量备份,它可以根据数据的变化进行差异备份 可以使用它进行本地数据或远程数据的复制 可以使用 SSH 安全隧道进行加密数据传输 Rsync 服务端定义源数据,客户端仅在

    2024年02月02日
    浏览(33)
  • Android文件基本操作(创建文件(夹)、复制文件(夹)、设置文件访问权限)

    将src目录下的info.txt复制到dst目录并重命名为info_dst.txt 1、 方法一:调用java.nio.file.Files.copy() 2、方法二:使用输入输出流 1、删除文件 只需要调用File的delete方法即可删除指定文件 2、删除文件夹 如果文件夹不为空,调用delete方法是无法删除文件夹的。需要先删除文件夹中包含

    2024年02月01日
    浏览(75)
  • 【Linux】基本指令-入门级文件操作(二)

    目录 基本指令 7 cp指令(重要) 8  mv指令(重要) 9 nano指令  10 cat指令 11 echo指令与重定向(重要) 12 more指令 13 less指令 功能:复制文件或目录(copy) 语法:cp [选项] 源文件或目录 目标文件或目录 常用选项: -f        强制复制源文件或目录到目标文件,不管目标文件

    2024年02月08日
    浏览(38)
  • 【Linux】基本指令-入门级文件操作(一)

    目录 前言 ⭕linux的树状文件结构 ⭕绝对路径和相对路径 ⭕当前路径和上级路径 ⭕隐藏文件 基本指令(重点) 1 pwd 指令 2 mkdir 指令  3 touch 指令 4 ls 指令 4.1 ls只加选项不加文件/目录名,默认查看当前目录下的文件 4.1.1 ls -a:查看所有文件包括隐藏文件 4.1.2 ls -l / ll:

    2024年02月08日
    浏览(31)
  • Python基本操作

    啦啦啦,现在开始,打算做一期Python基础教程,欢迎大家来看哦! 这期文章真的是Python基础中的基础,相信有一定编程基础的小伙伴们都一定能看懂的… 本文共分为以下几个部分: 数与运算符 基本输入输出 注释 模块基本操作 小彩蛋 本文内容导图 — 数与运算符 算数运算符

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包