python 操作文件与目录,python 操作文件夹
仅用于研究参考。
文件的概念文件/文件夹的基本操作文本文件编码方法的常用操作01。文件的概念1.1文件的概念和功能计算机文件是存储在长期存储设备上的一段数据。长期存储设备包括:硬盘、u盘、移动硬盘、光盘.文件的功能。
长期保存数据,需要时使用。
1.2文件存储方式在计算机中,文件以二进制形式存储在磁盘上。文本文件和二进制文件可以通过文本编辑软件查看。比如python的源程序,二进制文件不是人直接可读的,而是提供给其他软件。例如,图像文件、音频文件、视频文件和其他二进制文件无法通过文本编辑软件查看。
02.文件的基本操作2.1操作文件的套路在电脑中,操作文件的套路是很固定的,包括三个步骤:
打开文件,读写文件,将文件内容读入内存,将内存内容写入文件,关闭文件2.2操作文件的函数/方法。在Python中,你需要记住一个函数和三个方法序列号来操作文件。
功能/方法
解释
01
打开
打开文件并返回文件操作对象。
02
阅读
将文件内容读入内存
03
写
将指定内容写入文件。
04
关闭
关闭文档
open函数负责打开文件并返回文件对象读/写/关闭。这三种方法都需要调用2.3 read方法3354来读取文件。open函数的第一个参数是要打开的文件名(文件名区分大小写)。如果文件存在,则返回文件操作对象。如果文件不存在,将引发异常。read方法可以一次读入并返回文件的所有内容。close方法负责关闭文件。如果忘记关闭文件,会造成系统资源消耗,影响后续对文件的访问。注意:read方法执行后,会将文件指针移动到文件# open文件的末尾。
In [2]: file=open(filetest )
#读取文件的内容
In [3]: text=file.read()
#打印文件内容
在[4]:打印(文本)
你好,你是粉场
#关闭文件
In [5]: file.close()
在[6]:打印(文本)
你好,你是粉场
In [7]:开发中的提示,一般先写打开和关闭代码,再写文件的中间读/写操作!文件指针文件指针标记从哪里开始读取数据。第一次打开文件时,文件指针通常指向文件的开头。执行read方法后,文件指针将移动到读取内容的末尾。默认情况下,它会移动到文件的末尾进行思考。
如果执行一次read方法,读取所有内容,是否还可以通过再次调用read方法来获取内容?
第一次读不到答案后,文件指针移动到文件末尾,再调用就什么也读不到了。
哦,是啊,证明给我看。
#打开文件
In [7]: file=open(filetest )
#第一次读取文件内容并成功打印数据。
在[8]:打印(file.read())
你好,你是粉场
#第二次读取文件内容,因为指针已经到了文件末尾,无法打印出内容。
In [9]: print(file.read())
In [10]: file.close()
在[11]:2.4如何打开文件。默认情况下,open函数以只读模式打开文件,并返回file对象。
语法如下:f=open(文件名,访问方法)访问方法
解释
r
以只读方式打开文件。文件指针将放在文件的开头,这是默认模式。如果文件不存在,则引发异常。
w
以只写模式打开文件。如果文件存在,它将被覆盖。如果该文件不存在,请创建一个新文件。
a
以追加方式打开文件。如果文件已经存在,文件指针将放在文件的末尾。如果该文件不存在,请创建一个新文件进行写入。
r
以读写模式打开文件。指向文件的指针将放在文件的开头。如果文件不存在,则引发异常。
w
以读写模式打开文件。如果文件存在,它将被覆盖。如果该文件不存在,请创建一个新文件。
a
以读写模式打开文件。如果文件已经存在,文件指针将放在文件的末尾。如果该文件不存在,请创建一个新文件进行写入。
给个提示
频繁移动文件指针会影响文件的读写效率。在开发中,文件将以只读和只写的方式操作。
在[11]中编写文件示例:fw=open(filetest , w )
在[12]: fw.write(你好,你好,溥杰!\n )
In [13]: fw.write(你好,胖老板)
In [14]: fw.close()
In [15]: fr=open(filetest , r )
在[16]:打印(fr.read())
你好,妮溥杰!
你好,胖老板。
在[18]中:fr.close()
在[19]:2.5逐行读取文件的内容。默认情况下,read方法会将文件的所有内容一次读入内存。如果文件太大,内存会被严重占用。readline方法可以一次读取一行内容。方法执行后,文件指针将移动到下一行,以便再次读取。
[26]中读取大文件的正确姿势:file=open(filetest )
在[27]中:虽然正确:
.#读一行内容
.text=file.readline()
.#判断有没有看内容,没看就跳出来了。
.如果不是文本:
.断开
.#每读取一行,就打印一行。
.打印(文本)
.
你好,妮溥杰!
你好,胖老板。
[28]: file.close()2.6文件读写例——复制文件,复制漂亮图片目标
以代码的方式,实现文件复制过程。
首先,准备一张美图:
复制一个小文件打开已有文件,读取完整内容,写入另一个文件# #打开已有图片。
in[29]:file _ read=open( girl . jpg )
# #打开准备写入的文件
in[30]:file _ write=open( girl[copy])。jpg , w )
# #读取图片文件的内容
In [31]: jpg=file_read.read()
# #将jpg内容写入新文件
In [32]: file_write.write(jpg)
# #关闭文件
In [33]: file_read.close()
In [34]: file_write.close()
在[35]:大文件复制打开一个已有的文件,逐行读取内容,按顺序写入另一个文件在[35]: file _ read=open (girl.jpg )
.
in[36]:file _ write=open( girl[copy])。jpg , w )
.
在[37]中:虽然正确:
.jpg=file_read.readline()
.如果不是jpg:
.断开
.文件_写入.写入(jpg)
.
In [38]: file_read.close()
In [39]: file_write.close()
在[40]:
注意:文字型可以这样复制,图片型不可以。
03.常见的文件/目录管理操作在终端/文件浏览器中,您可以执行常规的文件/目录管理操作,例如:
创建、重命名、删除、更改路径、查看目录内容,在Python中,如果要通过程序实现上述功能,需要导入os模块文件操作序列号。
方法名称
解释
例子
01
重新命名
重命名文件
Os.rename(源文件名,目标文件名)
02
移动
删除文件
Os.remove(文件名)
操作序列号
方法名称
解释
例子
01
列表目录
内容列表
Os.listdir(目录名)
02
创建目录
创建目录
Os.mkdir(目录名)
03
删除目录
删除目录
Os.rmdir(目录名)
04
取当前目录
获取当前目录。
os.getcwd()
05
改变当前目录
修改工作目录
Os.chdir(目标目录)
06
path.isdir
确定它是否是一个文件。
Os.path.isdir(文件路径)
提示:文件或目录操作支持相对路径和绝对路径。
04.文本文件的编码格式。文本文件中存储的内容基于字符编码。常见的编码有ASCII编码、UNICODE编码等。
Python 2.x默认使用ASCII编码格式。
默认情况下,Python 3.x使用UTF-8编码格式。
4.1 ASCII编码和UNICODE编码ASCII编码计算机只有256个ASCII字符,一个ASCII占用内存1个字节的空间。八个0和1有256种排列组合方式,即2 ** 8。
UTF-8编码格式计算机用1~6个字节代表一个UTF-8字符,几乎涵盖了世界上所有的字符。大多数汉字用3个字节来表示UTF-8作为UNICODE编码的一种编码格式。如何在4.2 Ptyhon 2.x中使用中文
Python 2.x默认使用ASCII编码格式。
默认情况下,Python 3.x使用UTF-8编码格式。
将以下代码添加到python 2.x文件的第一行,解释器将处理python文件# *-*编码:utf-8 *-*
这个方法官方推荐!
也可以使用# coding=utf8unicode string。在Python 2.x中,即使指定了UTF-8的编码格式,在遍历字符串时仍然会以字节为单位遍历字符串。为了正确地遍历字符串,在定义字符串时,需要在字符串的引号前加一个小写字母U。告诉解释器这是一个unicode字符串(utf8编码格式的字符串)# *-*编码:utf8 *-*
#在字符串前添加“u ”,表示该字符串是utf8字符串。
In [40]: hello_str1=u 你好,胖老板
In [41]: hello_str2=你好,胖老板
在[42]:打印(hello_str1)
你好,胖老板
在[43]:打印(hello_str2)
你好,胖老板
在[44]中:对于hello_str1中的c:
.打印(c)
.
你们
好的
脂肪
臀部
老的
板
在[45]中:对于hello_str2中的c:
.打印(c)
.
在[46]:可以看到hello_str2前面没有写U,导致循环遍历中出现乱码。
关注微信微信官方账号,回复【数据】,Python,PHP,JAVA,web,即可获取Python,PHP,JAVA,前端等视频数据。
来自海洋的渔夫原创作品,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。