2021-06-14

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 文件中。这样,程序就可以从硬盘中恢

复变量的数据。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,874评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,102评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,676评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,911评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,937评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,935评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,860评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,660评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,113评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,363评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,506评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,238评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,861评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,486评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,674评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,513评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,426评论 2 352

推荐阅读更多精彩内容