美文网首页
python---基本知识22之文件操作举例

python---基本知识22之文件操作举例

作者: hello_我的哥 | 来源:发表于2018-01-30 22:52 被阅读55次

例子1:我们复制一个文本文件到另一个文本文件:

首先大致分为3步,第一打开文本文件A,打开文本文件B:

file_a=open('a.text','r',encoding='utf-8')

file_b=open('b.text','w',encoding='utf-8')

第二步得到文件A的内容并往文件B写入:

a_content=file_a.read()

file_b.write(a_content)

第三步关闭文件A,文件B:

file_a.close()

file_b.close()

就完成了,你会发现太简单了,就6行代码!

这种情况是针对小文件,那么如果是大文件怎么办呢?肯定不能一次把1G或者10G全部加载到内存吧,那样的话,电脑就炸了。这样的话,我们只能一小部分一小部分的去读,在一些部分一小部分的写,下面写两种方式:

第一种方式,大家可以看到喔复制的是androidstdio的安装包,有两个G,我用时间算了一下,14秒作用的时间,还是挺快的,使用的是遍历file_a迭代器,但是这种方法不是很好,因为按照这种方式迭代是根据换行符作边界的,那如果没有换行符,就出大问题了,所以就有第二种方式

import time

start=time.clock()

file_a=open('D:\development_tool/android_stdio/android-studio-bundle-162.4069837-windows.exe','rb') file_b=open('b.exe','ab')

for i in file_a:

file_b.write(i)

file_a.close()

file_b.close()

end=time.clock()

print(end-start)

第二种方式:我们每次都读取1兆往里面写:当取出来没内容的时候,就不写了

import time

start=time.clock()

file_a=open('D:\development_tool/android_stdio/android-studio-bundle-162.4069837-windows.exe','rb') file_b=open('b.exe','ab')

while True:

    a_content=file_a.read(10240)

    if len(a_content)==0:

        break

    file_b.write(a_content)

file_a.close() 

file_b.close()

end=time.clock()

print(end-start)

例子2:文件分类处理:

import os

import shutil

os.chdir('text')

list_dir=os.listdir('./')

for i in list_dir:

    index=i.rfind('.')

    suffix=i[index+1:]

if not os.path.exists(suffix):

    os.mkdir(suffix)

shutil.move(i,suffix)

例子3:把文件夹以及文件输出成一个文本,便于查看:这个例子也没什么难点,我们写程序主要就是要搞清楚流程,一步一步的来,不能操之过急,一步一步分解,最终就能全部写完了;

import os

def printfile(path,file):

    dir_list=os.listdir(path)

    for dir in dir_list:

    newaddress=path+'/'+dir

     if os.path.isdir(newaddress):

        file.write(newaddress+"\n")

    printfile(newaddress,file)

    else:

        file.write('\t'+dir+"\n")

file=open('text/data.text','a')

printfile('text',file)

file.close()

相关文章

  • python---基本知识22之文件操作举例

    例子1:我们复制一个文本文件到另一个文本文件: 首先大致分为3步,第一打开文本文件A,打开文本文件B: file_...

  • python---基本知识21之文件操作

    文件介绍:文件其实没什么好介绍的,我们在平时工作以及使用电脑的时候,都会用到各种各样的文件,首先,文件有多种格式,...

  • android 读写文件

    title: android 读写文件 基本知识参照博客 Android - 文件读写操作 总结

  • Mac 终端命令小结

    命令名功能描述使用举例 文件操作(命令名功能描述使用举例) 选择操作 安全操作 编程操作 进程操作 时间操作 网络...

  • MAC终端命令

    目录操作 文件操作 选择操作 安全操作 编程操作 进程操作 命令名 功能描述 使用举例| :- | :- |...

  • Python---基本知识13之元组

    1.什么是元组? 就是有序列得不可变得集合,这里和列表稍微不一样,列表是有序得可变得集合; 2.元组的定义:元组是...

  • Python---基本知识15之集合

    集合的概念? 无序的,不可随机访问的,不可重复的元素集合,就和数学里面学习的集合差不多; 1.集合的定义:集合分为...

  • Python---基本知识9之循环

    什么是循环? 指的就是重复做某一件事;废话不多说,直接看语法; 首先我们看的是while循环,while循环语法就...

  • Python---基本知识14之字典

    什么是字典? 字典是无序得可变的元素集合; 字典的定义: 1.直接写:从以下代码中我们可以看到字典是由一对大括号组...

  • Python---基本知识1_之注释

    什么是注释?为什么要注释? 我们编写的代码需要翻译成电脑认识的语言,即机器语言,那注释呢?注释是写给我们自己看的,...

网友评论

      本文标题:python---基本知识22之文件操作举例

      本文链接:https://www.haomeiwen.com/subject/sdyczxtx.html