要读取文件,首先当然就是获取文件,读取,然后关闭,这之间需要抓取下文件不存在的异常以保证程序的健壮性;文件的内容读取到了,接着写入内容到指定文件,步骤也是一样的:打开文件,写入,然后关闭

好了,现在开始第一步:读取文件的内容

def readFileAsLine(file_name):print ">>>>>复制的源文件是:",file_name,"<<<<<"li = []try:f = open(file_name,"r") # 只读模式打开line_content = f.read()while True:if line_content:li.append(line_content)try:f.next()except:print ">>>>>读取到文件:【", file_name, "】最后一行<<<<<"breakelse:breakexcept:print ">>>>>文件:【",file_name,"】不存在<<<<<"finally:if f:f.close()return li

这一段代码就是按行读取文件的内容,然后将每行内容追加到列表中,其中:

f = open(file_name,"r") # 只读模式打开

这一段代码,就是获取文件内容,这里需要抓取下目标文件不存在的异常(IOEXCEPTION);

至于open()具体用法可以通过输入open.__doc__来进一步获取

这段就算英文不怎么样,大体上应该也能顺下来,不行,还是有很多在线翻译的工具的;

意思就是使用opne()这个API方法可以打开一个文件,并返回一个文件对象;

注意这一句:This is the\npreferred way to open a file. 【这是打开一个文件的首先方法

好了,记住以后,要操作文件,打开一个文件,就使用open()来就行了;详细的可以参阅file.__doc__

这一段的文档内容有些长,记住其中的一个mode:r(只读),w(写入,会覆盖之前的),a(写入,不会覆盖之前);还有,需要处理IOError

接下来就是读取文件的内容了,

line_content = f.read()

这一段就是了,但是read()每次只读取一行,需要每一行都读取,就需要一行一行的读取下去,直到最后一行为止,说道这里当然就会想到循环了!

 while True:if line_content:li.append(line_content)try:f.next()except:print ">>>>>读取到文件:【", file_name, "】最后一行<<<<<"breakelse:break

其中的next()是一个IO操作:指针转向下一行,如果为空,返回一个异常,抓取一下,保证程序的健壮性

这样就能将每一行的内容都读取到了,然后按行放入到列表对象中就可以了,这样就读取到目标文件的内容了,并且是以按行分割进行的

接着,就是进行第二步,将读取到的文件内容,写入到指定的文件中去

# 将读取到的文件内容写入到待操作的文件目录
def writeContenToFile(li,file_name):print ">>>>>等待写入的文件名称是:【",file_name,"】<<<<<"try:f = open(file_name,"a")for i in li:f.write(i)except:print ">>>>>文件:【",file_name,"】不存在<<<<<"finally:if f:f.close()

这一段写入,比读取要来的更加精简一些,但是效果丝毫不减!

 f = open(file_name,"a")

首先,第一步,打开待操作的文件,这里存在一个细节,如果模式为w或者a时,但是文件是不存在的话,python会创建这个目标文件

详见图中标红处【The file will be created if it doesn't exist\nwhen opened for writing or appending;】这当然就是边撸代码边读API的好处啦(闷头撸代码应该也能发现的);当然出于健壮性考虑,还是抓取了下异常;接着就是循环写入了。

最后一步,当然就是验证

文件确实创建出来了,两个文件的内容做下比对,发现也是一样的,好了,文件复制正式手工

下面贴上完整的代码

# -*- coding:utf-8 -*-
# 将文件:F:\python\html\index.html 复制到 F:\python\file\index.html下
# 按行读取文件内容,并将结果返回到列表中
def readFileAsLine(file_name):print ">>>>>复制的源文件是:",file_name,"<<<<<"li = []try:f = open(file_name,"r") # 只读模式打开line_content = f.read()while True:if line_content:li.append(line_content)try:f.next()except:print ">>>>>读取到文件:【", file_name, "】最后一行<<<<<"breakelse:breakexcept:print ">>>>>文件:【",file_name,"】不存在<<<<<"finally:if f:f.close()return li
# 将读取到的文件内容写入到待操作的文件目录
def writeContenToFile(li,file_name):print ">>>>>等待写入的文件名称是:【",file_name,"】<<<<<"try:f = open(file_name,"a")for i in li:f.write(i)except:print ">>>>>文件:【",file_name,"】不存在<<<<<"finally:if f:f.close()# 待操作的文件
file_name = "F:\python\html\index.html"
# 读取文件内容
li = readFileAsLine(file_name)
for i in li:print i
# 待写入的文件
desc_file = "F:\python\\file\index.html"
# 操作写入
writeContenToFile(li,desc_file)

python读取文件并复制文件相关推荐

  1. python读取写入文件_Python读取文件,写入文件,打开文件,删除文件,复制文件

    python读取写入文件 In this tutorial we are going to learn about Python File Operations such as python read ...

  2. Python读取多个excel文件(删除字段、数据格式转换、dataframe多表合并)并写入ElasticSearch实战(自动创建索引、写入ElasticSearch、探索性数据分析)

    Python读取多个excel文件(删除字段.数据格式转换.dataframe多表合并)并写入ElasticSearch实战(自动创建索引.写入ElasticSearch.探索性数据分析) 目录

  3. python读取txt文件写入-python 读取、写入txt文件的示例

    写入文件 使用open()函数和write()函数 但是有两种写法,分别是'a'和'w' 'a' 表示写入文件 若无该文件会直接创建一个 如果存在这个文件,会接着已有的内容的后面写入 with ope ...

  4. python shp文件_对python 读取线的shp文件实例详解

    如下所示: import shapefile sf = shapefile.reader("e:\\1.2\\cs\\dx_csl.shp") shapes = sf.shapes ...

  5. 使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本

    使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本 文章目录 使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本 前言: 背景 tm ...

  6. Python读取.dat后缀名文件

    Python读取.dat后缀名文件 .dat文件基本上是没有任何头的二进制文件.对于每个样本,它由(256,256,3)个uint8图像,(64,64,1)uint8深度图和1个uint8标签组成.T ...

  7. python使用linux命令复制文件示例

    在linux系统中,我们经常批量复制一些文件,如果一个个手动复制,会非常慢.下面写了一个python脚本来批量复制文件.主要利用python的 os包,复制32个文件,代码如下: 第1行,导入os包: ...

  8. python读取C语言头文件

    在使用python编程过程中,经常需要对C语言文件进行操作,即.h文件进行读取操作,这里举例说明,python读取C语言头文件,提取其中#define 宏定义 废话少说,上代码 import os i ...

  9. python 读取mat文件,python读取并写入mat文件的方法

    先给大家介绍下python读取并写入mat文件的方法 用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); sav ...

  10. Java IO流之【缓冲流和文件流复制文件对比】

    与文件流相比,缓冲流复制文件更快 代码: package Homework;import java.io.BufferedOutputStream; import java.io.File; impo ...

最新文章

  1. 【人在职场】能力与价值
  2. 学会和同事相处的30个原则
  3. table表格固定前几列,其余的滚动
  4. 技术盘点:2022 年容器、Serverless、可观测、服务网格有哪些值得关注的趋势?
  5. 图像分类、检测,语义分割等方法梳理
  6. from .filename import class
  7. Hibernate依赖包简单介绍
  8. Iterator与ListIterator有什么区别
  9. 【学术分享】发顶会论文,怎么就那么难?
  10. Agisoft Metashape Professional for Mac(三维建模软件)
  11. 初学C++遇到的引用头文件问题
  12. 下列关于python语言中缩进说法中正确的是_以下关于 Python 语言中“缩进”说法正确的是:_物联网通信技术答案_学小易找答案...
  13. 系统分析师-论文准备
  14. 常见的9种大数据分析方法
  15. linux ubuntu 联网问题
  16. 模拟器android_id,夜神模拟器链接Android studoid
  17. vue 对象提供的属性功能、通过axio请求数据(2)
  18. 黄哥python培训怎样
  19. Understanding OpenStack Authentication: Keyston...
  20. 江苏省成人高考报名流程及免冠证件照电子版制作教程

热门文章

  1. 【janus 】openresty +janus
  2. Fliqlo.scr怎么安装
  3. 万圣节html代码大全,基于Jquery实现万圣节快乐特效
  4. SQL基础培训13-索引和优化
  5. 交付给事业多少,你就能成就多少事业
  6. 基于GoogleEarth等高分辨率影像的地物景观提取精度评价
  7. 走进河北石家庄市以富裕闻名的城中村:槐底村
  8. ETL工程师主要工作内容
  9. 小米盒子1s真心不让我爽
  10. 【移动机器人导航架构】navigation(mose_base)