Python——文件处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python——文件处理相关的知识,希望对你有一定的参考价值。

1、文件

存储在外部介质上的数据或信息的集合 。程序中的源程序、数据中保存着数据、图像中的像素数据

 

有序的数据序列。 

2、编码

信息从一种形式转换为另一种形式的过程。ASCII码、Unicode、UTF-8 

(1)ASCII码

ASCII码是标准化字符集,7个二进制位编码,表示128个字符

技术分享

可以看出,字符和数字之间一一对应,还有,字符串需要用引号。

(2)Unicode

跨语言、 跨平台进行文本转换和处理。对每种语言中字符设定统一且唯一的二进制编码,每个字符两个字节长

65536 个字符的编码空间

“严” :Unicode的十六进制数为4E25

(3)UTF-8编码
可变长度的Unicode的实现方式

“严” :十六进制数为E4B8A5

(4)GBK编码

双字节编码

2、文件数据
文本文件:
以ASCII码方式存储的文件…

 

二进制文件

(1)文本文件

以ASCII码方式存储的文件… 

(2)二进制文件ASCII码

照片、 音乐、 视频、 计算机程序等

优点:更加节省空间、采用二进制无格式存储、表示更为精确 

3、文件基本处理

(1)写入

Open()

<variable> = open (<name>, <mode>)
<name>磁盘文件名
<mode>打开模式

技术分享

1 def main():
2     fname=input("enter filename:")
3     infile=open(fname,r)
4     data=infile.read()
5     print(data)
6 main()

技术分享

 1 def main():
 2     fname=input("enter filename:")
 3     infile=open(fname,r)
 4     for i in range(5):
 5         line=infile.readline()
 6         print(line)
 7 def Read():
 8     fname=input("enter filename:")
 9     infile=open(fname,r)       
10     for n in range(5):
11         line=infile.readline()
12         print(line[:-1])
13 main()
14 Read()

技术分享

以上两段程序是将文件按行输出,后一段是去掉了最后的换行符,得以没有行间隔。

(2)写入

从计算机内存向文件写入数据

write():把含有本文数据或二进制数据块的字符串写入文件中。

writelines():针对列表操作,接受一个字符串列表作为参数,将它们写入文件。 

 1 def main():
 2     filename=input("enter the file‘s name:")
 3     outfile=open(filename,w)
 4     outfile.writelines([hello,\\n,world])
 5     outfile.close()
 6     infile=open(filename,r)
 7     data=infile.read()
 8     print(data)
 9 
10 main()

技术分享

(3)文件遍历

最常见的文件处理方法

举例:拷贝文件、根据数据文件定义行走路径、将文件由一种编码转换为另外一种编码  通用代码框架:

通用代码框架:

file = open (someFile, "r")

      For line in file.readlines():#处理一行文件内容

file.close()

简化代码框架:
file = open (someFile, "r")

       For line in file  #处理一行文件内容

file.close()

 

 1 def main():
 2     
 3     f1=input("enter a souce file:")
 4     f2=input("enter a souce file:")
 5 
 6     infile=open(f1,r)
 7     outfile=open(f2,"w")
 8 
 9     countlines=countchars=0
10     for line in infile:
11         countlines+=1
12         countchars+=len(line)
13         outfile.write(line)
14     print(countlines,lines and ,countchars,chars copied)
15 
16     infile.close()
17     outfile.close()
18 main()
19 
20 
21     

技术分享

注意:write()是用来写入字符串的,writelines()可以用来写入数组。

4、实例

(1)动态绘图

 

 

 



















以上是关于Python——文件处理的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

你如何在 python 中处理 graphql 查询和片段?

python+spark程序代码片段

我在哪里更改此 Python 代码片段以将临时文件保存在 tmp 文件夹中?

15种Python片段去优化你的数据科学管道

使用 Python 代码片段编写 LaTeX 文档