一、打开文件

1、open()函数

打开模式        执行操作

 ‘r’        以只读方式打开文件(默认)

 ‘w’        以写入的方式打开文件,会覆盖已存在的文件

 ‘x’           如果文件已经存在,使用此模式打开将引发异常

‘a’         以写入模式打开,如果文件存在,则在末尾追加写入

 ‘b’         以二进制模式打开文件

 ‘t’        以文本模式打开(默认)

 ‘+’        以可读模式(可添加到其他模式中使用)

 ‘U’        通用换行符支持

********************************************************************

文件对象方法       执行操作

f.close()       关闭文件

f.read(size = -1)      从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有自负,然后作为字符串返回

f.readline()       以写入模式打开,如果文件存在,则在末尾追加写入

f.write(str)      将字符串str写入文件

f.writelines(seq)     向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象

f.seek(offset,from)   在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节

f.tell()        返回当前在文件中的位置

***********************************************************************

二、举例说明:
# read(5):从文件读取5个字符

>>> f = open('//Users//wufq//Desktop//record.txt')

>>> f.read(5)
'12345'

# tell():返回当前在在文件中的位置

# seek(5,0):从0开始移动5个位置

>>> f = open('//Users//wufq//Desktop//record.txt')

# readline()  结合着seek()函数,从移动的位置,直接读取第一行的数据

>>> f = open('//Users//wufq//Desktop//record.txt')

>>> f.readline()
'56789\n'
>>>

#迭代读取文本的每一行

>>> f = open('//Users//wufq//Desktop//record.txt')

>>>

# write(str):写入字符串到文件

>>> f = open('//Users//wufq//Desktop//record.txt','w')
>>> f.write('99999999')
8
>>> f.close()   #写入字符串以后,必须的关闭,要不写入的内容会写到缓存内

三、练习题

1、如何将一个文件对象(f)中的数据存放进列表中

>>> f = open('//Users//wufq//Desktop//record.txt')
>>> list(f)        #使用list(f)
['99999999']

2、如何迭代打印文件对象(f)中的每一行数据

for each_line in f:

  print(each_line)

3、文件对象的内置方法f.read(size=-1)作用是读取文件对象内容,size参数是可选的,那如果设置了size = 10 ,例如f.read(10),将返回什么内容?

返回文件内的十个字符

4、如何获得文件对象(f)当前文件指针的位置

f.tell()

5、尝试将文件(OpenMe.mp3)打印到屏幕上

f.open('OpenMe.mp3')

for each in f:
    print(each,end='')

f.close()

6、编写代码,将上一题中的文件(OpenMe.mp3)保存为新文件(OpenMe.txt)

f1 = open('OpenMe.mp3')
f2 = open('OpenMe.txt')
f2.write(f1.read())   #读取f1文件并写到f2里面
f2.close()
f1.close()

【Python028--引入文件】的更多相关文章

  1. jQueryMobile引入文件后样式无法正常显示

    jQueryMobile引入文件后样式无法正常显示解决方法: jQuery文件必须放在jQueryMobile文件之前 eg:

  2. MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览

    之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...

  3. java jar包解析:打包文件,引入文件

    java jar包解析:打包文件,引入文件 cmd下: jar命令:package包打包 javac命令:普通类文件打包 Hello.java: package org.lxh.demo; publi ...

  4. DEDECMS中,引入文件

    引入文件:dede:include 标签:{dede:include filename="foot.htm"/}

  5. php中禁止非法调用和硬路径引入文件的方法

    php中禁止非法调用和硬路径引入文件的方法 在php中有一些公共的文件为了方便,我们会做一个公共文件,让不用的文件共同调用.为了禁止公共文件被非常单独调用,可以在文件上做一个常量,禁止非常调用:在公共 ...

  6. php引入文件(include 和require的区别)

    引入文件: 首先需要一个php文件: <?php class shao//类名必须和文件名相同!!! { public $xxx="666"; } $shili = new ...

  7. PHP中引入文件的四种方式及区别

    文件加载语句:include,require,include_once,require_once include,require: require函数通常放在 PHP 程序的最前面,PHP 程序在执行 ...

  8. 【Python全栈-HTML】HTML引入文件的绝对路径、相对路径、根目录

    HTML引入文件的绝对路径.相对路径.根目录 什么是绝对路径?绝对路径指的是文件的真正路径,使用绝对路径链接外部资源,如:图片.超级链接.flash.音频.视频等等.代码如下: 1.引入网络上的资源: ...

  9. 【JSP中引入文件】JSP中获取根路径+引用js文件

    在jsp界面中经常需要引入js.css等文件,通常都需要先获取项目根路径,然后再引入文件. 例如: 项目路径如下,需要在index.jsp中引入FusionCharts相关的js.css等: inde ...

  10. PHP中引入文件的四种方式详解

    四种语句 PHP中有四个加载文件的语句:include.require.include_once.require_once. 基本语法 require:require函数一般放在PHP脚本的最前面,P ...

随机推荐

  1. es6proxy

    Proxy 支持的拦截操作一览. 对于可以设置.但没有设置拦截的操作,则直接落在目标对象上,按照原先的方式产生结果. (1)get(target, propKey, receiver) 拦截对象属性的 ...

  2. Service Fabric下删除实例并注销应用

    Service Fabric下删除实例并注销应用: 以应用名称:Application1为例 1.打开PowerShell 2.连接集群: Connect-ServiceFabricCluster - ...

  3. MYSQL5.6.X 非在线安装版(解压版)安装过程

    一.卸载以前旧版本(本人5.5版本) 1.关闭MySQL服务 以管理员身份运行cmd,执行以下命令: net stop mysql 或者右键我的电脑,在管理——服务——停止MySQL 2.卸载MySQ ...

  4. Spring MVC / Boot

    https://stackoverflow.com/questions/5690228/spring-mvc-how-to-return-image-in-responsebody http://hw ...

  5. Vivado的安装程序没反应怎么办

    在Windows操作系统上,在安装Vivado的时候会遇到双击xsetup.exe没有反应的情况,即使是用管理员权限再加上设置兼容模式也没有任何效果,且此问题有可能在多个版本上都存在,包括最新的201 ...

  6. protobuf编译.proto文档

    1:在同一目录下按键盘shift+鼠标右键-->点击-->在此处打开命令窗口,打开后如下图所示 2.该目录下有person.proto文档,可以自己编写,如下 syntax = " ...

  7. C#深入研究ArrayList动态数组自动扩容原理

    1 void Test1() { ArrayList arrayList = new ArrayList(); ; ; i < length; i++) { arrayList.Add(&quo ...

  8. GitHub 代码上传

    方法一 登录GitHub后,点击下面的图 New responsitory 按钮 或者点击绿色按钮 New repository,新建一个新建一个远程仓库(remote repository),点击后 ...

  9. 韩松毕业论文笔记-第六章-EFFICIENT METHODS AND HARDWARE FOR DEEP LEARNING

    难得跟了一次热点,从看到论文到现在已经过了快三周了,又安排了其他方向,觉得再不写又像之前读过的N多篇一样被遗忘在角落,还是先写吧,虽然有些地方还没琢磨透,但是paper总是这样吧,毕竟没有亲手实现一下 ...

  10. 转:【专题八】P2P编程

    引言: 前面的介绍专题中有朋友向我留言说介绍下关于P2P相关的内容的,首先本人对于C#网络编程也不是什么大牛,因为能力的关系,也只能把自己的一些学习过程和自己的一些学习过程中的理解和大家分享下的,下面 ...