打开文件的三种方式:
  open(r'E:\学习日记\python\code\文件的简单操作.py')
  open('E:\\学习日记\\python\\code\\文件的简单操作.py')
  open('E:/学习日记/python/code/文件的简单操作.py')
#字符串前面加一个r代表原生的raw
# rt,wt,at:r读,w、a写,t表示以文本打开

eg:
>>> res = open(r'E:\test.txt','r',encoding='utf-8')
>>> read = res.read()
>>> print(read)
>>> res.close()
123
小米
qwe
asd

#文本形式读取

with open(r'E:\test.txt','rt',encoding='utf-8') as f:

#read(1)代表读取一个字符,读取光标往右的内容(默认光标在开头)
  data1 = f.read(1)
  print(data1)
  data2 = f.read(1)
  print(data2)
1
2 #readline:按行读取
  data1 = f.readline()
  data2 = f.readline()
  print(data1)
  print(data2)
123
小米 #readlines:把内容以列表形式显示
  data = f.readlines()
  print(data)
['123\n', '小米\n', 'qwe\n', 'asd']
  for a in data:
  print(a)
123 小米 qwe asd #readable:是否可读(返回布尔类型)
  res = f.readable()
  print(res)
True

#文本形式写
#w:覆盖写
#a:追加写

with open(r'E:\test.txt','wt',encoding='utf-8') as res:
#write:往文件里覆盖写入内容
  res.write('谢谢你的爱1999')
谢谢你的爱1999(test.txt) #writelines:传入可迭代对象变成字符串写入文件
  res.writelines(['qw','\n12','3er'])
  res.writelines({'name':'小米','age':23})
helloqw
123ernameage with open(r'E:\test.txt','at',encoding='utf-8') as res:
#a模式write写入为追加
  res.write('\n456')
helloqw
123ernameage
456 #writable:是否可写
  res.writable()
True 

#rb,wb,ab
#bytes类型读

with open(r'E:\test.txt','rb') as res:
  a = res.read()
  print(a)
b'hello\r\n\xe4\xbd\xa0\xe5\xa5\xbd'
  print(a.decode('utf-8'))
  hello
你好

# bytes类型写:
#1.字符串前面加b(不支持中文)
# 2.encode

with open(r'E:\test.txt', 'wb') as res:
  res.write(b'asd')
asd
  res.write('你好'.encode('utf-8'))
你好 

#光标的移动

with open(r'E:\test.txt', 'wb') as res:
#前面的数字代表移动的字符或字节,后面的数字代表模式(0:光标在开头,1:代表相对位置,2:代表光标在末尾)
  res.seek(2,0)
  print(res.read())
e
qwertyuiop
  res.seek(1,0)
  res.seek(2,1)
  print(res.read().decode('utf-8'))
qwertyuiop
  res.seek(-3,2)
  print(res.read().decode('utf-8'))
iop 

# tail -f /var/log/message | grep '404'

小练习:

  # 编写一个用户登录程序
   登录成功显示欢迎页面
   登录失败显示密码错误,并显示错误几次
   登录三次失败后,退出程序

作业升级:
   # 可以支持多个用户登录
   # 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态

python文件的基本操作的更多相关文章

  1. Python 文件的基本操作

    打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:   不存在则创建:存在则只追加内容:] "+" 表示可 ...

  2. Python文件读写基本操作

    https://www.jianshu.com/p/eab35af27e1c 1.打开文件操作 方法一: f = open('/mypy/test.txt') print f # 输出:<ope ...

  3. Python之文件的基本操作

    在python中,对文件的基本操作一共有如下四种: 1.打开文件 file_obj = open("文件路径","模式") 常用的打开文件模式有: r:以只读方 ...

  4. python文件(概念、基本操作、常用操作、文本文件的编码方式)

    文件 目标 文件的概念 文件的基本操作 文件/文件夹的常用操作 文本文件的编码方式 01. 文件的概念 1.1 文件的概念和作用 计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据 长期存储 ...

  5. Python学习之路基础篇--08Python基础+ 文件的基本操作和 注册小作业

    1 文件的基本操作 #1. 打开文件的模式有(默认为文本模式): r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] a, 只追加写模式[ ...

  6. Python基础之文件的基本操作

    概述:文件的基本操作1.open 打开文件 f = open("xxx",mode="r",encoding="utf-8") #常用形式 ...

  7. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  8. [ Python入门教程 ] Python文件基本操作

    本文将python文件操作实例进行整理,以便后续取用. 文件打开和创建 Python中使用open()函数打开或创建文件.open()的声明如下: open(name[, mode[, bufferi ...

  9. python文件I/O(转)

    Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...

随机推荐

  1. Canvas动画基础之碰撞检测

    在Canvas中进行碰撞检测,大家往往直接采用游戏引擎(Cocos2d-JS.Egret)或物理引擎(Box2D)内置的碰撞检测功能,好奇的你有思考过它们的内部运行机制吗?下面将针对基本的碰撞检测技术 ...

  2. [Luogu2458][SDOI2006]保安站岗

    题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序. 已知整个地下超市的所有通道呈一棵树的形状:某些通道之间可以互 ...

  3. 百万年薪python之路 -- 数据库初始

    一. 数据库初始 1. 为什么要有数据库? ​ 先来一个场景: ​ 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 由于在同一时 ...

  4. [线段树系列] LCT打延迟标记的正确姿势

    这一篇博客将教你什么? 如何用LCT打延迟标记,LCT和线段树延迟标记间的关系,为什么延迟标记要这样打. ——正片开始—— 学习这一篇博客前,确保你会以下知识: Link-Cut-Tree,普通线段树 ...

  5. 记录一次诡异的Maven Profile不生效的问题

    记录一次诡异的Maven Profile不生效的问题 现象 maven 打包之后,复制的 profile对应的resource文件总是不正确的. 即便是加了 mvn clean package -P ...

  6. Javascript进阶必会

    概念: 局部块函数声明: ES5才承认有这个东西. function f(){return 'global';} function test(x){ var result = []; if(x) { ...

  7. 课堂动手动脑验证以及自定义异常类实现对异常处理——java异常类

    异常(exception):发生在程序执行期间,表明出现了一个非法运行的情况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象.例如:数组越界和被0除. 代码验证: package test ...

  8. git命令(转)

    git工作模式 工作区(代码) 暂存区 版本区(提交区.历史区) 初始化 git config --global user.name *** git config --global user.emai ...

  9. Redis(六)复制

    在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求.Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本.复制功能是高可用R ...

  10. docker-compose下的java应用启动顺序两部曲之一:问题分析

    在docker-compose编排多个容器时,需要按实际情况控制各容器的启动顺序,本文是<docker-compose下的java应用启动顺序两部曲>的第一篇,文中会分析启动顺序的重要性, ...