文件操作

创建一个文件名字为filename

内容是

BJ
SH
GD
TW

打印文件编码

f = open("filename",'r',encoding="utf-8")
print(f.encoding)

utf-8

打印在内存的编号

print(f.fileno())

3

1.文件读操作

1.1 open()方法,模式默认读

f = open("filename",encoding="utf-8")
data = f.read()
  print(data)

BJ
SH
GD
TW

1.2 读前几行

f = open("filename",encoding="utf-8")
for i in range(2):
  print(f.readline().strip())

BJ
SH

1.3 一行行读完

f = open("filename",encoding="utf-8")
for i in f:
  print(i.strip())

BJ
SH
GD
TW

1.4 高效读到第x行

count = 0
f = open("filename",encoding="utf-8")
for i in f:
  if count == 3:
    print('----------------')
    count += 1
  print(i.strip())
  count += 1

BJ
SH
GD
----------------
TW
ssssss

2.文件写操作

2.1 w写模式,如果没有此文件就创建

f = open("filename2",'w',encoding="utf-8")
f.write("wwwww")
f.close()
f1 = open("filename2",encoding="utf-8")
data = f1.read()
print(data)
f.close()

wwwww

2.2 a追加模式

在文件尾部追加

f = open("filename",'a',encoding="utf-8")
f.write("\nssssss")
f.close()

BJ
SH
GD
TW
ssssss

2.3读+追加模式

f = open("filename","r+",encoding="utf-8")
f.write("\n------haha------------")

for i in f:
  print(i.strip())

2.4 文件修改

f = open("filename","r",encoding="utf-8")
f1 = open("filename1","w",encoding="utf-8")

for line in f:
  if "h" in line:
    line = line.replace('h','g')
  f1.write(line)
f.close()
f1.close()

3.指针操作

f = open("filename",encoding="utf-8")
print(f.tell()) #查看当前指针位置
print(f.readline())
print(f.tell())
f.seek(0) #指针回到0
print(f.tell())
print(f.readline())
print(f.tell())

0
BJ

4
0
BJ

4

4.判断文件是否可读可移可写

f = open("filename",'r',encoding="utf-8")

print(f.readable())
print(f.seekable())
print(f.writable())

True
True
False

5.flush方法和buffer方法

f = open("filename",'r',encoding="utf-8")
print(f.flush())#从内存写入磁盘
print(f.buffer)

None
<_io.BufferedReader name='filename'>

6.实现进度条

import sys,time

for i in range(10):
  sys.stdout.write("#")
  sys.stdout.flush()
  time.sleep(0.5)

##########

7.截断

f = open("filename","a",encoding="utf-8")
f.seek(0) #指定指针到0的位置

f.write("123456")

f.truncate(2) #截断2字符

filename文件中 只保留2个字符

BJ

python笔记03-----文件操作的更多相关文章

  1. python笔记3 - 文件操作

    file 对象使用 open 函数来创建,下面说一下对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件,读取/写入文件内容 3.关闭文件. 注意: 文件打 ...

  2. python笔记:文件操作

    1.逐行打印整个文件 # -*- coding: utf-8 -*- f = open("test",'r',encoding="utf-8") count = ...

  3. python os&shutil 文件操作

    python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...

  4. python 历险记(三)— python 的常用文件操作

    目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...

  5. Python的高级文件操作(shutil模块)

    Python的高级文件操作(shutil模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让我们用python的文件处理来进行文件拷贝,想必很多小伙伴的思路是:使用打开2个 ...

  6. Python入门篇-文件操作

    Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...

  7. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  8. Python之常用文件操作

    Python之常用文件操作

  9. Python之路第一课Day3--随堂笔记(文件操作)

    一.集合的介绍 1.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = se ...

  10. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

随机推荐

  1. Spring 之 AOP

    面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化.AOP 的核心构造是方面, 它将那些影响多个类的行为封装到可重用的模块 ...

  2. Oracle EBS View 视图查看没有数据

    --关于看视图查看没有数据的问题 --原因OU过滤关系 --Oracle SQL*Plus --toad EXECUTE  fnd_client_info.set_org_context(:ou_id ...

  3. eclipse中配置server中选择tomcat8无法进行下一步处理

    在创建server的时候,选择tomcat8后,server name为空,并且无法手动输入,同时无法进行下一步操作. 解决方案如下: 1.退出eclipse. 2.找到eclipse[工作空间][当 ...

  4. windows本地代码上传github

    1.下载Git工具 https://www.git-scm.com/download/win 2.进到项目目录 cd /dir/dir/dir/file 3.初始化 git init 4.添加远程仓库 ...

  5. 【文文殿下】[BZOJ4008] [HNOI2015] 亚瑟王

    题解 这是一个经典的概率DP模型 设\(f_{i,j}\)表示考虑到前\(i\)张牌,有\(j\)轮没打出牌的可能性,那么显然\(f_{0,r} = 1\). 考虑第\(i+1\)张牌,他可能在剩下的 ...

  6. CTF中密码学一些基础

    本文作者:i春秋签约作家MAX. 凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密. 给大家先找两道题,来一起探讨基础密码学 ...

  7. 【awk】按小时切割日志

    需求: 把日志按日志内容中的小时数做切割 {hostname=ali-beijing-msync-3512} 2017-05-17 23:17:52.694 [info] <0.27292.70 ...

  8. tomcat 线程模型

    最近看到了内网ATA上的一篇断网故障时Mtop触发tomcat高并发场景下的BUG排查和修复(已被apache采纳),引起了我的好奇,感觉原作者对应底层十分了解,写的很复杂.原来对于tomcat的线程 ...

  9. ELK安装成windows服务

    一.Elasticsearch安装成windows服务 我的es所在路径为:D:\ELK5.5.0\elasticsearch-5.5.0 Java 安装目录为:C:\Program Files\Ja ...

  10. 解决 sublime text 3 there are no packages available for installation 错误

    重装win7 系统后,使用sublime text 3 出现下面的错误提示: 经过摸索,解决方案如下: 第一种方法: 是因为 ipv6 的问题,导致无法访问 sublime 官网,解决方法: 在 ho ...