打开文件的三种方式:
  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次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态

user = 'root'
passwd = 'root'
i = 0
print("请登录:")
while True:
new_user = input("请输入用户:")
new_passwd = input("请输入密码:")
if new_user == user and new_passwd == passwd:
print("欢迎光临")
break
else:
print("密码输入错误!")
i +=1
if i == 3:
print("三次输入错误,退出程序")
break

  

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

  1. 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)

    目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...

  2. python 中文件夹的操作

    文件有两个管家属性:路径和文件名. 路径指明了文件在磁盘的位置,文件名原点的后面部分称为扩展名(后缀),它指明了文件的类型. 一:文件夹操作 Python中os 模块可以处理文件夹 1,当前工作目录 ...

  3. Python中文件路径名的操作

    1 文件路径名操作 对于文件路径名的操作在编程中是必不可少的,比如说,有时候要列举一个路径下的文件,那么首先就要获取一个路径,再就是路径名的一个拼接问题,通过字符串的拼接就可以得到一个路径名.Pyth ...

  4. 『无为则无心』Python基础 — 42、Python中文件的读写操作(二)

    目录 (5)文件对象方法(重点) 1)写方法 2)读方法 3)seek()方法 4)tell()方法 (6)关闭 (7)综合练习:读取大文件 (5)文件对象方法(重点) 1)写方法 @1.语法 对象对 ...

  5. Python中文件的读写操作的几种方法

    对文件的操作,步骤为:打开一个文件-->读取/写入内容-->保存文件 文件读写的3中模式 # 1.w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写 ...

  6. Python中文件的读写操作

    文件操作基本流程: 1. 介绍 计算机系统是由计算机硬件,操作系统,和应用程序三部分组成. 内存 存放不持久 硬盘 可以使数据持久化 文件操作  数据持久化的一种 全栈开发  框架类 2. 文件的操作 ...

  7. python中字典的基础操作

    dict1 = { 'name':'王麻子', 'age':25, 'phone':12580, 'high':160 } dict2 = { 'name':'张三', 'age':38, 'phon ...

  8. python 关于文件夹的操作

    在python中,文件夹的操作主要是利用os模块来实现的, 其中关于文件夹的方法为:os.lister() , os.path.join() , os.path.isdir() #  path 表示文 ...

  9. python 中文件输入输出及os模块对文件系统的操作

    整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...

随机推荐

  1. 配置VC++2010的glut库

    VC++2010是一个成熟稳定的版本,微软的编译工具Visual Studio系列从VC6到如今的VC2019,功能非常强大,我们在开始学习C++和计算机图形学的时候,一般入手<<C++P ...

  2. ZGC深入学习

    ZGC简介 本次调研目标选取的是jdk11(long-term support)下首次亮相的zgc. zgc介绍简单翻译了zgc main page:ZGC简介 另外参考hotspot garbage ...

  3. Linux快速入门

    一.Linux介绍 1.Linux是基于Unix的开源免费的操作系统 2.Linux的分类: (1)Linux根据市场需求不同,基本分为两个方向: 1)图形化界面版:注重用户体验,类似window操作 ...

  4. Python3_基础

    目录 数据类型 变量 数据类型的转换 算术操作符 输入 字符串常用方法 数据类型 我们先来看看三种常见的数据类型 字符串 str 在Python中,字符串一般都用引号引起来,不管是用单引号还是双引号都 ...

  5. 机器学习实战3:逻辑logistic回归+在线学习+病马实例

    本文介绍logistic回归,和改进算法随机logistic回归,及一个病马是否可以治愈的案例.例子中涉及了数据清洗工作,缺失值的处理. 一 引言 1 sigmoid函数,这个非线性函数十分重要,f( ...

  6. 图像处理笔记(二十一):halcon在图像处理中的运用

    概要: 分水岭算法做图像分割 二维码识别 稍后将其他几篇笔记全都补充上概要方便查询. 分水岭算法做图像分割 使用距离变换结合分水岭算法实现图像分割,可以用来分割仅通过阈值分割还是有边缘连接在一起的情况 ...

  7. C语言1作业004

    这个作业属于哪个课程 C语言作业004 我在这个课程的目标是 理解和掌握for语句的基本操作 这个作业在哪个具体方面帮助我实现目标 循环结构的应用,数学函数基本问题 参考文献 C语言程序设计(第3版) ...

  8. Java_条件控制与循环控制

    条件控制语句: 1.     if-else语句 if(条件1){ 代码块1; }else if(条件2){ 代码块2; }else{ 代码块3; } 2.     switch语句 switch(变 ...

  9. js滚动事件

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

  10. apply 、 call 、 bind的用法

    1.apply 方法 apply:调用一个对象的一个方法,用另一个对象替换当前对象.例如:B.apply(A, arguments);即A对象应用B对象的方法. apply方法最多只能有两个参数——新 ...