python文件操作:文件处理与操作模式
本文目录:
一,文件处理的模式基本概念
文件处理的三个步骤
# 1. 打开文件拿到文件对象(文件对象====>操作系统打开文件====>硬盘)
# f=open(r'文件的路径',mode='文件的打开模式',encoding='字符编码') #绝对路径:C:\a\b\c.txt,/a/b/c/c.txt 相对路径:相对于当前执行文件所在的文件夹为起始点进行查找b/c/a.txt # 2. 操作文件:读/写
# f.read()
# f.readlines()
# f.readline()
# f.readable() # 3. 向操作系统发送指令关闭文件,回收操作系统资源
# f.close()
上下文管理
with open(r'D:\project\test\今日内容',mode='rt',encoding='utf-8') as f:
# data=f.read()
# print(data)
# print('='*100)
name=input('>>: ')
for line in f:
print(line)
二,打开文件模式 详解
基本概念
# 打开文件的模式有三种纯净模式:r(默认的) w a # 控制操作文件内容格式的两种模式:t(默认的) b
# 大前提: tb模式均不能单独使用,必须与纯净模式结合使用
# t文本模式:
# 1. 读写文件都是以字符串为单位的
# 2. 只能针对文本文件
# 3. 必须指定encoding参数
# b二进制模式:
# 1.读写文件都是以bytes/二进制为单位的
# 2. 可以针对所有文件
# 3. 一定不能指定encoding参数
打开文件模式详解
1. r只读模式: 在文件不存在时则报错,文件存在文件内指针直接跳到文件开头
with open('a.txt',mode='rt',encoding='utf-8') as f:
print(f.readlines())
# 用户认证功能
inp_name=input('请输入你的名字: ').strip()
inp_pwd=input('请输入你的密码: ').strip()
with open(r'db.txt',mode='rt',encoding='utf-8') as f:
for line in f:
# 把用户输入的名字与密码与读出内容做比对
u,p=line.strip('\n').split(':')
if inp_name == u and inp_pwd == p:
print('登录成功')
break
else:
print('账号名或者密码错误')
2. w只写模式: 在文件不存在时会创建空文档,文件存在会清空文件,文件指针跑到文件开头
# with open('b.txt',mode='wt',encoding='utf-8') as f:
# print(f.writable())
# print(f.readable())
# f.write('你好\n')
# f.write('我好\n') # 强调:在文件不关闭的清空下,后写的内容一定跟着前写内容的后面
# f.write('大家好\n')
# f.write('111\n222\n333\n')
# lines=['1111','22222','33333']
# for line in lines:
# f.write(line)
# f.writelines(lines)
# 注册功能:
# name=input('username>>>: ').strip()
# pwd=input('password>>>: ').strip()
# with open('db1.txt',mode='at',encoding='utf-8') as f:
# info='%s:%s\n' %(name,pwd)
# f.write(info)
3. a只追加写模式: 在文件不存在时会创建空文档,文件存在会将文件指针直接移动到文件末尾
# with open('c.txt',mode='at',encoding='utf-8') as f:
# f.write('44444\n')
# f.write('55555\n')
# print(f.readable())
# print(f.writable())
# r+ w+ a+
# with open('a.txt',mode='r+t',encoding='utf-8') as f:
# print(f.readable())
# print(f.writable())
# print(f.readline())
# f.write('你好啊')
# b: 读写都是以二进制位单位
# with open('b.txt',mode='rb') as f:
# data=f.read()
# # print(data,type(data))
# print(data.decode('utf-8'))
# with open('1.png',mode='rb') as f:
# data=f.read()
# print(data)
# with open('d.txt','wb') as f:
# f.write('你好'.encode('gbk'))
# with open('1.png',mode='rb') as f:
# data=f.read()
#
# with open('2.png',mode='wb') as f:
# f.write(data)
4拷贝工具
src_file=input('源文件路径: ').strip()
dst_file=input('目标文件路径: ').strip()
with open(r'%s' %src_file,mode='rb') as read_f,open(r'%s' %dst_file,mode='wb') as write_f:
for line in read_f:
# print(line)
write_f.write(line)
python文件操作:文件处理与操作模式的更多相关文章
- python 文件操作: 文件操作的函数, 模式及常用操作.
1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...
- Python开发【第三篇】:Python基本之文件操作
Python基本之文本操作 一.初识文本的基本操作 在python中打开文件有两种方式,即:open(...) 和 file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open ...
- python基础之文件操作
对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...
- 关于Python中的文件操作(转)
总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...
- Python 基礎 - 文件操作_v2
嗯,那如何要把游標的位置給打印來? #!/usr/bin/env python3 # -*- coding:utf-8 -*- f = open('test', 'r') print(f.tell() ...
- python基础知识---操作文件
一.打开文件 open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- Python学习笔记——文件操作
python中,一切皆对象. 一.文件操作流程 (1)打开文件,得到一个文件句柄(对象),赋给一个对象: (2)通过文件句柄对文件进行操作: (3)关闭文件. 文件对象f通过open()函数来创建 ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
- python读写操作文件
with open(xxx,'r,coding='utf-8') as f: #打开文件赋值给F ,并且执行完了之后不需要 f.close(). 在Python 2.7 及以后,with又支持同时 ...
随机推荐
- elk收集tomcat的日志
logstash收集tomcat的日志 不要修改下tomcat中server.xml的日志格式,否则tomcat无法启动,试过多次,不行,就用自带的日志让logstash去收集 首先给tomcat日志 ...
- three.js 之 透明物体不能正常显示
这几天遇到一个需求,类似这个案例:http://www.hightopo.com/demo/FaultDetection/ 就是这个透明渐变呼吸光柱,看到之后就想着写个shader材质实现透明度渐变, ...
- vm overcommit参数
overcommit参数需要根据不同服务来进行调整,使内存得到充分利用的同时保证系统的稳定性.比如redis服务器建议把vm.overcommit_memory设置为1. 1.vm.overcommi ...
- CWinThread类,使用后要不要使用CloseHandle释放内核
在VC++中用AfxBeginThread()开启线程的时候,返回的是CWinThead类的指针.但是使用后是否应该用CloseHandle释放内核资源呢? 在<Windows核心编程>中 ...
- MSSQL Server 2005 安装补丁出现 Setup Support Files Failure
给MSSQL Server 2005 安装补丁时出现 Setup Support Files Failure,检查了错误日志,不是系统错误,而是应用错误.出现这个错误的原因:以我的安装为例,我开始装 ...
- HTTP 状态代码的完整列表
1xx(临时响应) 用于表示临时响应并需要请求者执行操作才能继续的状态代码. 代码 说明 100(继续) 请求者应当继续提出请求.服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收 ...
- 如何在picture上显示透明Label
- python常见队列queue分类
import queue # 1.普通q# 2.先进后出q# 3.优先级q 普通Queue q=queue.Queue(3)q.put(1)q.put(2)q.put(3)print(q.get()) ...
- Stream系列(八)Reduce方法使用
裁减计算 视频讲解: https://www.bilibili.com/video/av77715582/ EmployeeTest.java package com.example.demo; i ...
- SGI STL泛型heap算法分析
heap性质 heap本质是用一个数组表示的完全二叉树,并且父节点总是大于(或者小于)子节点的值.在STL中用于实现优先队列(priority_queque).堆排序是排序算法中是稳定效率最高的一种. ...