一、注意事项

A.能调用方法的一定是对象

B.文件的操作流程:

  1. 打开文件,得到文件句柄并赋值给一个变量

  2. 通过句柄对文件进行操作

  3. 关闭文件

二、操作实现方法

'''
文件名:小双双
文件内容如下:

昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。
'''

1.

 f = open('小双双', 'r')
print(f.readline().strip()) # 读取文件第一行内容 # 执行第二次的时候读取第二行内容,因为第一次读取完成后自动把光标放到了第一行末尾
print(f.readline().strip())

>>> 昨夜寒蝉不住鸣。

惊回千里梦,已三更。

2.

 f = open('小双双', 'r')
print(f.readlines()) #读取所有内容,按行放到列表中
f.close()

>>> ['昨夜寒蝉不住鸣。\n', '惊回千里梦,已三更。\n', '起来独自绕阶行。\n', '人悄悄,帘外月胧明。\n',

'白首为功名,旧山松饰老,阻归程。\n','欲将心事付瑶琴。\n', '知音少,弦断有谁听。']

3.

 # 逐行打印文件内容
f = open('小双双', 'r') for n in f.readlines():
print(n.strip())
f.close()
>>>昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。 4.
 # 在第3行后添加一行字符串
f = open('小双双', 'r')
data = f.readlines()
f.close()
number = 0 for n in data: # 逐行打印文件内容
if number == 3:
n = ''.join((n.strip(),'\n小可爱')) #字符串拼接用.join(),且其只能接收一个参数
print(n.strip())
number += 1
>>>昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
小可爱
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。
5.
 f = open('小双双', 'r')

 print(f.tell())  #显示光标此时的位置
for n in f: #for内部将f对象做成一个迭代器,用一个取一个
print(n.strip())
print(f.tell())
>>>0
昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。
147 6.
 f = open('小双双', 'r')
# gbk编码一个中文占两位
print(f.tell()) #显示光标此时的位置
print(f.read(4))
print(f.tell())
>>>0
昨夜寒蝉
8 7.
 f = open('小双双', 'r')
# gbk编码一个中文占两位
print(f.read(4))
print(f.tell())#显示光标此时的位置 f.seek(4) # 调节光标的位置
print(f.read(4))
>>>昨夜寒蝉
8
寒蝉不住 8.
 f = open('小双双', 'a')
print(f.isatty()) # 判断是否与终端设备相关联,是返回True
 f = open('小双双', 'a')

 #数据截断,在‘a’模式下截取原有数据的前6位,在‘w’模式下格式化文件
f.truncate(6)

9.'a+'  'w+'  'r+'  模式

f = open('小双双', 'w+')  #w+模式,执行该语句原文件格式化

print(f.readline())  #所以执行该语句输出为空

f.write('小可爱')    #重新写入字符
print(f.readline()) #再次读取还为空,因为上句操作完成后光标移到了最后 f.seek(0) # 调整光标位置
print(f.readline()) f.close()

>>>

   小可爱
 f = open('小双双', 'r+')  #r+模式

 print(f.readline())  # 输出原文件内容,

 f.write('小可爱')    #在原文件内容的后面接着写入字符
print(f.readline()) #读取为空,因为上句写操作完成后光标移到了最后 f.seek(0) # 调整光标位置到0
print(f.readline()) f.close()
>>>小可爱

   小可爱小可爱
 f = open('小双双', 'a+')  #a+模式,追加内容;语句执行完光标到最后位置,

 print(f.readline())  # 输出为空,

 f.write('小可爱')    #在原文件内容的后面追加内容
print(f.readline()) #读取为空,因为上句写操作完成后光标移到了最后 f.seek(0) # 调整光标位置到0
print(f.readline()) #输出现有内容 f.close()

>>>

   小可爱小可爱小可爱

三、文件的安全打开方式:
 with open('小双双', 'r') as f:  # with方式打开文件,后面不需要关闭文件。推荐文件操作使用with

 # with同时管理多个文件对象
with open('小双双', 'r') as f_read, open('小双双', 'w') as f_write:
for line in f_read:
f_write.write(line)
 

Python 文件操作(一)的更多相关文章

  1. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  2. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  3. Python文件操作与函数目录

    文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 ...

  4. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  5. day8.python文件操作

    打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...

  6. 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

    嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...

  7. Python之路Python文件操作

    Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...

  8. python 文件操作 r w a

    python基础-文件操作   一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件       打开文件时,需要指定文件路径和以何等方式打开文件, ...

  9. Python:文件操作技巧(File operation)(转)

    Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python #  -*- coding: utf8 -*- spath = " D:/dow ...

  10. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

随机推荐

  1. LuoguP3964 [TJOI2013]松鼠聚会【切比雪夫距离/前缀和】

    题目传送门 前置知识:切比雪夫距离和曼哈顿距离的相互转化--自为风月马前卒 有了这个知识,我们便可以在读入松鼠的家的坐标时,先把他转化一下,然后把最后的总式化简,我们会得到一个充满后缀和以及前缀和的式 ...

  2. HDU6447(离散化扫描线+树状数组)

    一眼看过去就x排序扫描一下,y是1e9的离散化一下,每层用树状数组维护一下,然后像dp倒着循环似的树状数组就用y倒着插就可行了. 类似题目练习:BZOJ4653.BZOJ1218 #pragma co ...

  3. h5-29-WEB存储-通讯录实战.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. RHEL6.5---LVS(IP-TUN)

    实验环境: 主机名 IP  所需软件 master eth0==>192.168.30.160(RIP) eth0:1==>192.168.30.130(VIP) ipvsadm node ...

  5. 数字(number)

    数字(number) Time Limit:2000ms   Memory Limit:128MB 题目描述 LYK定义了一个新的计算. 具体地,一开始它有两个数字a和b. 每一步,它可以将b增加1, ...

  6. Java断点续传(基于socket与RandomAccessFile的简单实现)

    Java断点续传(基于socket与RandomAccessFile的简单实现) 这是一个简单的C/S架构,基本实现思路是将服务器注册至某个空闲端口用来监视并处理每个客户端的传输请求. 客户端先获得用 ...

  7. [ Luogu 3709 ] 大爷的字符串题

    \(\\\) Description 原题题面太过混乱出题人语文凉凉 给出一个长为 \(n\) 的数列 \(A\) ,多次询问: 对于一个区间 \([L_i,R_i]\),把区间内的所有数最少划分成多 ...

  8. JavaScript中,有三种常用的绑定事件的方法

    要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数.所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称. 在JavaScript中,有三种常用的 ...

  9. ubuntu下安装php-curl扩展

    查找包 apt-cache是linux下的一个apt软件包管理工具,它可查询apt的二进制软件包缓存文件.APT包管理的大多数信息查询功能都可以由apt-cache命令实现,通过apt-cache命令 ...

  10. javaee 第四周作业

    分析hello.java.下载链接:https://github.com/javaee/tutorial-examples/tree/master/web/jsf/hello1 /** * Copyr ...