python办公自动化
1.1读写文件
使用python在硬盘上创建、读取和保存文件。
1.1.1文件与文件路径
1、文件有两个属性:路径和文件名,路径指明文件在计算机上的位置,文件名是指该位置的文件的名称。
2、windows上,路径书写是使用倒斜杠'/'作为文件夹之间的分隔符。
1.1.2当前工作目录
每个运行在计算机上的程序,都有一个“当前工作目录”。利用os.getcwd()函数,可以取得当前工作路径的字符串,并可以利用os.chdir()改变它。
1.1.3路径操作
1.1.3.1绝对路径和相对路径
“绝对路径”,总是从根文件夹开始。“相对路径”,相对于程序的当前工作目录。相对路径中,单个句点“.”表示当前目录的缩写,两个句点“..”表示父文件夹。
几个常用的绝对路径和相对路径处理函数
os.path.abspath(path):将相对路径转换为绝对路径,将返回参数的绝对路径的字符串。os.path.isabs(path):判断是否是绝对路径,是返回True,不是则返回False
note:子文件夹:一个文件夹里面所包含的文件夹,称为这个文件夹的子文件夹。 譬如C:盘的“Windows文件夹”下有个“addins文件夹”,我们就称“addins文件夹”是“Windows文件夹”的子文件夹。
父文件夹:子文件夹和父文件夹是一对相对的概念。例如在C盘的根文件夹下有一个A文件夹,A文件夹下有一个B文件夹。则B为A的子文件夹,A为B的父文件夹,同理A也是C:\的子文件夹,而A的父文件夹就是C:\即根文件夹)
根文件夹:每个逻辑驱动器最上层的文件夹叫做根文件夹。(例如C:\,D:\)。
1.1.3.2路径操作
1、os.path.relpath(path,start) :返回从start路径到path的相对路径的字符串。如果没提供start,就使
用当前工作目录作为开始路径。
2、os.path.dirname(path) : 返回当前路径的目录名称。
3、os.path.basename(path) :返回当前路径的文件名称。
4、如果同时需要一个路径的目录名称和基本名称,可以调用 os.path.split() ,获得者两个字符串的元
组。
5、如果我们想返回每个文件夹的字符串的列表。用 os.path.split() 无法得到,我们可以用 split() 字
符串方法,并根据 os.path.sep 中的字符串进行分割。 os.path.sep 变量设置为正确的文件夹分割斜
杠。
1.1.3.3 路径有效性检查
如果提供的路径不存在,很多Python函数就会崩溃并报错。 os.path 模块提供了一些函数,用于检测给
定的路径是否存在,以及判定是文件还是文件。
os.path.exists(path) :如果path参数所指的文件或文件夹存在,则返回True,否则返回False。
os.path.isfile(path) :如果path参数存在,并且是一个文件,则返回True,否则返回False。
os.path.isdir(path) :如果path参数存在,并且是一个文件夹,则返回True,否则返回False。
1.1.4 文件及文件夹操作
1.1.4.1 用os.makedirs()创建新文件夹
1.1.4.2 查看文件大小和文件夹内容
我们已经可以处理文件路径,这是操作文件及文件夹的基础。接下来,我们可以搜集特定文件和文件夹
的信息。 os.path 模块提供了一些函数,用于查看文件的字节数以及给定文件夹中的文件和子文件夹。
os.path.getsize(path) :返回path参数中文件的字节数。
os.listdir(path) :返回文件名字符串的列表,包含path参数中的每个文件。
1.1.6 文件读写过程
读写文件3个步骤:
1.调用 open() 函数,返回一个File对象。
2.调用File对象的 read() 或 write() 方法。
3.调用File对象的 close() 方法,关闭该文件。
1.1.6.1 用open()函数打开文件
要用 open() 函数打开一个文件,就要向它传递一个字符串路径,表明希望打开的文件。这既可以是绝
对路径,也可以是相对路径。 open() 函数返回一个File对象。
先用TextEdit创建一个文本文件,名为hello.txt。输入Hello World!作为该文本文件的内容,将它保存在
你的用户文件夹中
1.1.6.2 读取文件内容
有了File对象,我们就可以开始从它读取内容。
read() :读取文件内容。
readlines() :按行读取文件中的内容,取得一个字符串列表,列表中每个字符串是文本中的一行且以
\n结束。
1.1.6.3 写入文件
需要用“写模式”‘w’和“添加模式”'a'打开一个文件,而不能用读模式打开文件。
“写模式”将覆写原有的文件,从头开始。“添加模式”将在已有文件的末尾添加文本。
1.1.6.4保存变量
1)、shelve模块
用 shelve 模块,可以将Python中的变量保存到二进制的 shelf 文件中。这样,程序就可以从硬盘中恢
复变量的数据。