05Python文件操作Word文档格式.docx

上传人:b****2 文档编号:15117903 上传时间:2022-10-27 格式:DOCX 页数:13 大小:22.19KB
下载 相关 举报
05Python文件操作Word文档格式.docx_第1页
第1页 / 共13页
05Python文件操作Word文档格式.docx_第2页
第2页 / 共13页
05Python文件操作Word文档格式.docx_第3页
第3页 / 共13页
05Python文件操作Word文档格式.docx_第4页
第4页 / 共13页
05Python文件操作Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

05Python文件操作Word文档格式.docx

《05Python文件操作Word文档格式.docx》由会员分享,可在线阅读,更多相关《05Python文件操作Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

05Python文件操作Word文档格式.docx

1.4.3目录操作8

1.5练习9

1文件操作

1.1快速入门

1.1.1用Python创建一个新文件

内容是从0到9的整数,每个数字占一行:

#python

f=open('

f.txt'

'

w'

)#r只读,w可写,a追加

foriinrange(0,10):

f.write(str(i)+'

\n'

f.close()

r'

t=f.readlines()

print(t)

1.1.2文件内容追加,从0到9的10个随机整数

importrandom

a'

f.write(str(random.randint(0,9)))

f.write('

1.1.3文件内容追加,从0到9的随机整数,10个数字一行,共10行

foriinrange(0,10):

f.write(str(random.randint(0,9)))

f.write('

如何读取并显示:

g=open('

rt'

s=g.readlines()

print(s)

foriinrange(len(s)):

s[i]=s[i].strip('

g.close()

1.1.4把标准输出定向到文件

importsys

sys.stdout=open("

stdout.txt"

"

w"

1.2文件的读写

1.2.1文件打开

f=file(name[,mode[,buffering]])

入口参数:

name文件名

mode选项,字符串

buffering是否缓冲(0=不缓冲,1=缓冲,>

1的int数=缓冲区大小)

返回值:

文件对象

mode选项:

"

r"

以读方式打开,只能读文件,如果文件不存在,会发生异常

以写方式打开,只能写文件,如果文件不存在,创建该文件

如果文件已存在,先清空,再打开文件

rb"

以二进制读方式打开,只能读文件,如果文件不存在,会发生异常

wb"

以二进制写方式打开,只能写文件,如果文件不存在,创建该文件

rt"

以文本读方式打开,只能读文件,如果文件不存在,会发生异常

wt"

以文本写方式打开,只能写文件,如果文件不存在,创建该文件

rb+"

以二进制读方式打开,可以读、写文件,如果文件不存在,会发生异常

wb+"

以二进制写方式打开,可以读、写文件,如果文件不存在,创建该文件

1.2.2关闭文件

当文件读写完毕后,应关闭文件。

1.2.3清空文件内容

f.truncate()

注意:

仅当以"

r+"

"

等以可写模式打开的文件才可以执行该功能。

1.2.4文件的指针定位与查询

(1)文件指针:

文件被打开后,其对象保存在f中,它会记住文件的当前位置,以便于执行读、写操作,这个位置称为文件的指针(一个从文件头部开始计算的字节数long类型)。

(2)文件打开时的位置:

以"

读方式,"

w+"

写方式打开的文件,

一开始,文件指针均指向文件的头部。

(3)获取文件指针的值:

L=f.tell()

(4)移动文件的指针

f.seek(偏移量,选项)

选项=0时,表示将文件指针指向从文件头部到"

偏移量"

字节处。

选项=1时,表示将文件指针指向从文件的当前位置,向后移动"

字节。

选项=2时,表示将文件指针指向从文件的尾部,,向前移动"

1.2.5从文件读取指内容

1文本文件(以"

方式打开的文件)的读取

s=f.readline()

返回值:

s是字符串,从文件中读取的一行,含行结束符。

说明:

(1)如果len(s)=0表示已到文件尾

(2)如果是文件的最后一行,有可能没有行结束符

2二进制文件(以"

、"

方式打开的文件)的读取

s=f.read(n)

(2)文件读取后,文件的指针向后移动len(s)字节。

(3)如果磁道已坏,会发生异常。

1.2.6向文件写入一个字符串

f.write(s)

参数:

s要写入的字符串

(1)文件写入后,文件的指针向后移动len(s)字节。

(2)如果磁道已坏,或磁盘已满会发生异常。

返回值:

s是字符串,从文件中读取的内容

1.2.7删除文件

importos

os.remove(file)

1.3打开文件

读写文件之前,先用open()函数打开一个文件,它会返回一个文件对象(fileobject):

f=open(filename,mode)

如果不指定mode参数,文件将默认以‘r'

模式打开。

模式中的字符有:

r:

只读

w:

只写,如果文件已存在则将其覆盖。

如果该文件不存在,创建新文件

+:

读写(不能单独使用)

a:

打开文件用于追加,只写,不存在则创建新文件

b:

以二进制模式打开(不能单独使用)

所以可能的模式大概有r、w、r+、w+、rb、wb、rb+、wb+、a、a+、ab、ab+,注意只有w和a可以创建文件。

通常情况下,文件都是以文本模式(textmode)打开的,也就是说,从文件中读写的是以一种特定的编码格式进行编码(默认的是UTF-8)的字符串。

如果文件以二进制模式(binarymode)打开,数据将以字节对象的形式进行读写:

f=open('

a.txt'

wb+'

Ilikeapple!

'

) 

#报错

f.write(b'

)#以bytes对象的形式进行读写

Bytes对象是0到127的不可修改的整数序列,或纯粹的ASCII字符,它的用途是存储二进制数据。

可以通过在一个字符串前面加上'

b'

来创建一个bytesliteral;

也可以通过bytes()函数创建一个bytes对象。

如果bytes()函数的初始化器是一个字符串,那么必须提供一种编码。

b1=b'

Thisisstring'

b2=bytes('

'

UTF-8'

#必须指定编码格式

字符串对象与字节对象是不兼容的,要将bytes转变为str,bytes对象必须要进行解码,使用decode()方法:

b=bytes('

print(b,b.decode(),sep='

#输出:

#b'

#Thisisstring

文件对象的方法(假设f是一个文件对象):

f.read(size):

读取size个字节的数据,然后作为字符串或bytes对象返回。

size是一个可选参数,如果不指定size,则读取文件的所有内容。

f.readline():

读取一行。

在字符串末尾会留下换行符(\n),如果到文件尾,返回空字符串。

f.readlines():

读取所有行,储存在列表中,每个元素是一行,相当于list(f)。

f.write(string):

将string写入到文件中,返回写入的字符数。

如果以二进制模式写文件,需要将string转换为bytes对象。

f.tell():

返回文件对象当前所处的位置,它是从文件开头开始算起的字节数。

f.seek(offset,from_what):

改变文件对象所处的位置。

offset是相对参考位置的偏移量,from_what取值0(文件头,默认)、1(当前位置)、2(文件尾)表示参考位置。

f.close():

关闭文件对象。

这些都是很常用的方法,当然文件对象不止这些方法。

根据打开的模式不同,open()返回的文件对象类型也不同:

TextIOWrapper:

文本模式,返回TextIOWrapper对象。

BufferedReader:

读二进制,即rb,返回BufferedReader对象。

BufferedWriter:

写和追加二进制,即wb、ab,返回BufferedWriter对象。

BufferedRandom:

读/写模式,即含有+的模式,返回BufferedRandom对象。

可以在这些文件对象上运行dir()或help(),查看它们所有的方法。

1.4操作函数目录

1.4.1对文件、文件夹的操作

需要涉及到os模块和shutil模块。

得到当前工作目录,即当前Python脚本工作的目录路径:

os.getcwd()

返回指定目录下的所有文件和目录名:

os.listdir()

函数用来删除一个文件:

os.remove()

删除多个目录:

os.removedirs(r"

c:

\python"

检验给出的路径是否是一个文件:

os.path.isfile()

检验给出的路径是否是一个目录:

os.path.isdir()

判断是否是绝对路径:

os.path.isabs()

检验给出的路径是否真地存:

os.path.exists()

返回一个路径的目录名和文件名:

os.path.split()

例如:

os.path.split('

/home/swaroop/byte/code/poem.txt'

结果:

('

/home/swaroop/byte/code'

poem.txt'

分离扩展名:

os.path.splitext()

>

t=os.path.splitext("

d:

\d.txt"

t[0]

\\d'

t[1]

.txt'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1