python中文件的基础操作
打开文件的三种方式:
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中文件的基础操作的更多相关文章
- 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)
目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...
- python 中文件夹的操作
文件有两个管家属性:路径和文件名. 路径指明了文件在磁盘的位置,文件名原点的后面部分称为扩展名(后缀),它指明了文件的类型. 一:文件夹操作 Python中os 模块可以处理文件夹 1,当前工作目录 ...
- Python中文件路径名的操作
1 文件路径名操作 对于文件路径名的操作在编程中是必不可少的,比如说,有时候要列举一个路径下的文件,那么首先就要获取一个路径,再就是路径名的一个拼接问题,通过字符串的拼接就可以得到一个路径名.Pyth ...
- 『无为则无心』Python基础 — 42、Python中文件的读写操作(二)
目录 (5)文件对象方法(重点) 1)写方法 2)读方法 3)seek()方法 4)tell()方法 (6)关闭 (7)综合练习:读取大文件 (5)文件对象方法(重点) 1)写方法 @1.语法 对象对 ...
- Python中文件的读写操作的几种方法
对文件的操作,步骤为:打开一个文件-->读取/写入内容-->保存文件 文件读写的3中模式 # 1.w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写 ...
- Python中文件的读写操作
文件操作基本流程: 1. 介绍 计算机系统是由计算机硬件,操作系统,和应用程序三部分组成. 内存 存放不持久 硬盘 可以使数据持久化 文件操作 数据持久化的一种 全栈开发 框架类 2. 文件的操作 ...
- python中字典的基础操作
dict1 = { 'name':'王麻子', 'age':25, 'phone':12580, 'high':160 } dict2 = { 'name':'张三', 'age':38, 'phon ...
- python 关于文件夹的操作
在python中,文件夹的操作主要是利用os模块来实现的, 其中关于文件夹的方法为:os.lister() , os.path.join() , os.path.isdir() # path 表示文 ...
- python 中文件输入输出及os模块对文件系统的操作
整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...
随机推荐
- python requests自动化框架
一.项目结构 1.新建一个工程(一定要创建工程),工程名称自己定义,如:yoyo_jiekou 2.在工程的跟目录新建一个脚本:run_main.py,用来执行全部用例 3.在工程下创建以下几个pak ...
- 如何用js做关灯游戏
编辑器 Sublime Text 3 <!DOCTYPE html><html lang="en"><head> <meta chars ...
- [Luogu3069][USACO13JAN]牛的阵容Cow Lineup
题目描述 Farmer John's N cows (1 <= N <= 100,000) are lined up in a row. Each cow is identified by ...
- redis内存数据的持久化方式
转: http://blog.csdn.net/wzqzhq/article/details/64920996 概述 Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis ...
- Markdown的基本使用指南
目录 1.标题 2.列表 2.1无序列表 2.1有序列表 3.引用 4.图片和链接 5.粗体和斜体 6.分割线 7.代码框和代码块 8.列表 9.可选框 10.添加目录 Markdown 是一种用来写 ...
- ESP32 开发之旅② Arduino For ESP32说明
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- Mobius反演学习
这篇文章参考了许多资料和自己的理解. 先放理论基础. 最大公约数:小学学过,这里只提一些重要的公式: $·$若$a=b$,则$\gcd(a,b)=a=b$: $·$若$\gcd(a,b)=d$,则$\ ...
- 玩转OneNET物联网平台之MQTT服务⑦ —— 远程控制LED(数量无限制)+ Android App控制 优化第一版
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- kali更新源地址更改
问题: Hit:1 http://mirrors.ustc.edu.cn/kali kali-rolling InReleaseIgn:2 http://mirrors.ustc.edu.cn/kal ...
- 封装自己通用的 增删改查的方法 By EF
封装自己的通用CURD By EF using System; using System.Collections.Generic; using System.Data.Entity; using Sy ...