python-文件处理

文件的基本方法

1、文件路径在不同系统上的不同表达方式

OS X :文件路径用正斜杠,/
Linux:文件路径用正斜杠,/
Windows:文件路径用反斜杠,\ (第一个反斜杠代表转义,即\\)

2、当前工作路径,cwd
3、工作路径相关方法

需要import os模块

os.getcwd() //获取当前工作路径
os.chdir()  //改变工作路径,改变后,之前该路径下的文件路径,都变为更改后的路径

4、相对路径和绝对路径

.. 两个点代表父文件夹
.  一个点代表当前文件夹

os.path.abspath() //返回参数的绝对路径字符串
os.path.isabs() //判断参数是否是绝对路径
os.path.isabs(os.path.abspath()) -->返回True
os.path.relpath(path,start) //返回从start到path的相对路径字符串;如果没有提供start,就从当前路径作为开始路径
os.path.dirname() //返回参数总最后一个斜杆之前的所有内容,即目录名称,可用于查看文件的路径
os.path.basename() //回参数总最后一个斜杆之后的内容,即基本名称,可用于查看文件的文件名
os.path.split() // 返回文件目录名称和基本名称的元组
'path'.split(os.path.sep) // 将path的路径按照斜杠分割称若干个字符串

5、文件夹相关的方法

os.makedirs() //创建新的文件夹,可以连续创建多级文件夹
os.path.getsize(path) //返回path参数重文件的字节数,即文件大小
os.listdir(path) // 返回文件名的字符串列表,包含path参数中的每一个文件
os.path.join()//用于构建系统上的有效路径,可以添加几个参数,用于创建路径

6、查看路径有效性

os.path.exists() // 判断路径是否存在,返回布尔结果
os.path.isfile() // 判断参数存在,且为一个文件,返回布尔结果
os.path.isdir() // 判断参数存在,且问一个文件夹,返回布尔结果

文件的读写

1、调用open()函数,返回一个File对象

 helloFile = open('/文件地址')

2、调用File对象的read()或者write()方法

读取文件    
helloContent = helloFile.read()
//也可以用readline()方法,从该文件中取得一个字符串的列表,没有字符串就是文件中的每一个行数据


写入文件
helloFile.write('rewrite')  //返回字符串的长度,此时helloFile文件被覆盖
helloFile.write('rewrite','a') //使用第二个参数a,表示添加模式,此时helloFile文件不会被覆盖,而是在文件末尾添加

3、调用File对象的close()方法,关闭该文件

helloFile.close()

组织文件

1、shutil

shutil.copy(source, destination) //将路径source处的文件复制到路径destination处的文件夹;如果destination是个文件名,则会给这个复制文件起个新的名字
shutil.move(source, destination) //将路径source处的文件移动到路径destination处的文件夹;如果destination是个文件名,则会给这个文件修改为新的名字
os.unlink(path) //将path处的文件夹移除,彻底删除
filename.endswith(' ') // 判断特定的文件结尾
send2trash.send2trash() // 删除文件和文件夹,移除到回收站

2、遍历目录树

os.walk('') //遍历路径,返回3个值,分别是当前文件夹名称的字符串,当前文件夹中字文件夹的字符串的列表,当前文件夹中文件的字符串的列表

3、zipfile模块压缩文件

1)读取zip文件

exampleZip = zipfile.ZipFile('example.zip')
exampleZip.namelist()// 返回目录
spamInfo = exampleZip.getinfo('examplefile.txt')// 返回一个ZipInfo对象
spamInfo.file_size //返回对象文件的原始大小
spamInfo.compress_size //返回对象文件压缩后的大小
exampleZip.close() //关闭文件流

2)总Zip文件中解压

exampleZip = zipfile.ZipFile('example.zip')
exampleZip.extractall() //执行后文件会被解压到c盘根目录
exampleZip.extractall('文件路径') //执行后文件会被解压到参数文件路径中,若路径不存在,则会创建新的

exampleZip.extract('压缩文件中的特定文件','解压后的路径') //解压压缩文件中的特定文件,也可以用第二个参数传入解压后的路径
eexampleZip.close()

3)创建和添加到zip文件

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

推荐阅读更多精彩内容