Python—文件

1 def fileCopy(src, dst, srcEncoding, dstEncoding):
2     with open(src, ‘r‘, encoding=srcEncoding) as srcfp:
3         with open(dst, ‘w‘, encoding=dstEncoding) as dstfp:
4 dstfp.write(srcfp.read())
5 fileCopy(‘sample.txt‘, ‘sample_new.txt‘, ‘cp936‘, ‘utf8‘)

一.文件基础和基本操作。

1.什么是文件?

为了长期保存数据以便重复使用、修改和共享,必须将数据以文件的形式存储到外部存储介质(如磁盘、U盘、光盘等)或云盘中。

文件:存储在外部介质上的数据或信息的集合 。

程序中的源程序 数据中保存着数据 图像中的像素数据 …

有序的数据序列。

2.文件中的编码

文本显示:计算机显示功能的基本问题

编码:信息从一种形式转换为另一种形式的过程

列如:ASCII码、Unicode、UTF-8…

3.常用的编码

ASCII码:是标准化字符集 7个二进制位编码,表示128个字符, ord()和chr()函数查看

Unicode:跨语言、 跨平台进行文本转换和处理,对每种语言中字符设定统一且唯一的二进制编码,每个字符两个字节长 65536 个字符的编码空间,“ 严” :Unicode的十六进制数为4E25

UTF-8编码:可变长度的Unicode的实现方式 ,“ 严” :十六进制数为E4B8A5Unicode

GBK编码 :《汉字内码扩展规范》 双字节编码

Python中字符串类型未编码 编码encode() 解码decode()

4.文件的分类:

按文件中数据的组织形式把文件分为文本文件二进制文件

a.文本文件

文本文件存储的是常规字符串,以ASCII码方式存储。如英文字母、汉字、数字字符串。由若干文本行组成,通常每行以换行符‘\n‘结尾。文本文件可以使用字处理软件如gedit、记事本进行编辑。

b.二进制文件

二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通字处理软件直接进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取、显示、修改或执行。常见的如图形图像文件、音视频文件、可执行文件、资源文件、各种数据库文件、各类office文档等都属于二进制文件。

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

注意:

文本文件是基于字符定长的ASCII;

二进制文件编码是变长的,灵活利用率要高;

不同的二进制文件解码方式是不同的。

5.文件的操作流程

a.打开文件

建立磁盘上的文件与程序中的对象相关联

通过相关的文件对象获得

b.文件操作

读取

写入

定位

其他:追加、 计算等

c.关闭文件

切断文件与程序的联系

写入磁盘,并释放文件缓冲区

6.文件的打开

文件对象名=open(文件名[, 打开方式[, 缓冲区]])

a.文件名:指定了被打开的文件名称。

b.打开模式:指定了打开文件后的处理方式,见表7-1。

c.缓冲区:指定了读写文件的缓存模式。0表示不缓存,1表示缓存,如大于1则表示缓冲区的大小。默认值是缓存模式。

d.open( )函数返回1个文件对象,该对象可以对文件进行各种操作。

例如: f1 = open( ‘file1.txt‘, ‘r‘ ) f2 = open( ‘file2.txt‘, ‘w‘)

文件打开模式:表7-1,例7-1 文件对象属性

7.文件的对象

文件的打开方式

文件对象属性

8.文件对象的常用方法(读写函数)

9.操作实例

a.向文本文件中写入内容

1 f=open(‘sample.txt‘, ‘a+‘)
2 s= ‘文本文件的读取方法\n文本文件的写入方法\n‘
3 f.write(s)
4 f.close()

更建议这样写:

1 s= ‘文本文件的读取方法\n文本文件的写入方法\n‘
2 with open(‘sample.txt‘,‘a+‘) as f:
3      f.write(s)

使用with自动关闭资源。可以在代码块执行完毕后还原进入该代码块时的现场。 不论何种原因跳出with块,总能保证文件被正确关闭。

在实际开发中,读写文件应优先考虑使用上下文管理语句with,关键字with可以自动管理资源,可以在代码块执行完毕后自动还原进入该代码块时的上下文,常用于文件操作、数据库连接、网络连接、多线程与多进程同步时的锁对象管理等场合。

with open(filename, mode, encoding) as fp: #这里写通过文件对象fp读写文件内容的语句

上下文管理语句with还支持下面的用法:

1 with open(‘test.txt‘, ‘r‘) as src, open(‘test_new.txt‘, ‘w‘) as dst:#读写合并
2     dst.write(src.read())

b.随机产生10个数并写入文件中

1 import random
2 alist=[random.randint(1,100) for i in range(10)]
3 data=[str(i)+‘\n‘ for i in alist]
4 with open(r‘D:\data.txt‘,‘w‘) as fp:
5      fp.writelines(data)

c.读取文本文件的前五个字符

1 f=open( ‘sample.txt‘, ‘r‘)
2 s=f.read(5)   #读取文件的前5个字符
3 f.close( )
4 print(‘s=‘,s)
5 print(‘字符串s的长度(字符个数)=‘, len(s))

d.读取并显示文本文件的所有行

1 f=open(r‘D:\Zen.txt‘, ‘r‘)
2 while True:
3     line=f.readline()
4     if line==‘‘:
5 break
6     print(line)
7 f.close()

或者可以写成这样

1 f=open(r‘D:\Zen.txt‘, ‘r‘)
2 li=f.readlines()
3 for line in li:
4     print(line)
5 f.close()

e.将一个CP936编码格式的文本文件中的内容全部复制到另一个使用UTF8编码的文本文件中。

原文地址:https://www.cnblogs.com/wkfvawl/p/9195123.html

时间: 2024-08-30 14:09:21

Python—文件的相关文章

如何编写一个带命令行参数的Python文件

看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命令行参数. 首先你要知道python中的sys模块的一些功能: import sys print "the number of python program's argument:",len(sys.argv) print "the value of every argument

Python文件类型

Python的文件类型分为三种:源代码.字节代码.优化代码. 1. 源代码    Python源代码文件,即py脚本文件,由 python.exe 解释,可在控制台下运行.pyw脚本文件是图形用户接口(Graphical user interface)的源文件,专门用来开发图形界面,由 pythonw.exe 解释运行. 2. 字节代码    Python源文件经过编译后生成的pyc文件,即字节文件.它与平台无关,所以可以移植到其他系统上.下面这段脚本可以把 example.py 编译为 exa

C#调用python文件执行

我的电脑环境是使用.net framework4.5.1,如果在调试过程中调不通请注意 我用的是Visual studion 2017,python组件下载地址:http://ironpython.codeplex.com/releases/view/ 下载的版本是2.7,下载安装完之后记得引入安装路径下的以下三个dll (1)首先先说一个简单的功能,在c#代码中执行python字符串,内容如下: (2)c#调用python文件: 在当前目录下新建一个后缀名为py的文件,文件名为AmoutDis

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

搭建Python环境与Python文件类型

Linux环境 - 大多Linux发行版均默认安装了Python环境. - 输入Python可启动Python交互模式 - 程序编辑推荐使用VIM Windows环境 - 可下载安装Python的msi包直接安装 - 自带Python的GUI开发环境 - 开发工具很多 # Linux交互界面 [[email protected] ~]# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:37:14) [GCC 4.4.7 20120313 (Red

成功解决在Python文件上右键菜单无“Edit with IDLE”选项

我电脑是Win7旗舰版,之前电脑上安装的是Python2.6版本的,前两天为了体验一下Microsoft Excel与Python之间互操作, 下载并安装了DataNitro,在安装的时候脑残的安装了Python2.7.5,但是这两天在用的时候,发现之前安装的一些包后不能用了: print sys.path 才知道,Python的搜索路径变成了Python2.7.5的路径了,傻眼了,怎么办? 于是,一通百度,google之后,折腾了一个上午,终于搞定了: 首先,我在cmd里面是可以正常使用Pyt

python文件相关操作

Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中,open()方法进行打开文件等相关操作,open()方法其中第一个参数是要打开的文件的文件路径,第二个参数是对要打开文件要执行的权限,第三个参数是文件采用字符编码. 而open()方法返回的内容叫做文件句柄.我们可以打印返回的文件句柄来看下: f = open('test_file.txt','r

python文件的增删改查操作

1 def choice(): 2 print(''' 3 1 查找 4 2 删除 5 3 添加 6 4 修改 7 ''') 8 def forlist(): 9 with open("test2", encoding="utf8", mode="r+") as w: 10 for line in w: 11 print(line.strip()) 12 13 14 def check(): 15 usr=input("输入你要查找的域

python文件和元组

python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹下生成文件,这样方便 class Util(): """工具类""" @classmethod def get_file_url(cls, file_name): """获取当前文件夹的路径""&qu

在独立的python文件调用django api

在独立的python文件调用django api加入下面代码: 1 import os 2 import sys 3 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 4 if root not in sys.path: sys.path.append(root) 5 if os.environ.get('DJANGO_SETTINGS_MODULE') == None: os.environ.setdefaul