本文目录:

一、文件处理的模式基本概念

二、打开文件模式详解

一,文件处理的模式基本概念

文件处理的三个步骤

# 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文件操作:文件处理与操作模式的更多相关文章

  1. python 文件操作: 文件操作的函数, 模式及常用操作.

    1.文件操作的函数: open("文件名(路径)", mode = '模式', encoding = "字符集") 2.模式: r , w , a , r+ , ...

  2. Python开发【第三篇】:Python基本之文件操作

    Python基本之文本操作 一.初识文本的基本操作 在python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open ...

  3. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  4. 关于Python中的文件操作(转)

    总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...

  5. Python 基礎 - 文件操作_v2

    嗯,那如何要把游標的位置給打印來? #!/usr/bin/env python3 # -*- coding:utf-8 -*- f = open('test', 'r') print(f.tell() ...

  6. python基础知识---操作文件

    一.打开文件  open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...

  7. Python::OS 模块 -- 文件和目录操作

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...

  8. Python学习笔记——文件操作

    python中,一切皆对象.   一.文件操作流程 (1)打开文件,得到一个文件句柄(对象),赋给一个对象: (2)通过文件句柄对文件进行操作: (3)关闭文件. 文件对象f通过open()函数来创建 ...

  9. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  10. python读写操作文件

    with open(xxx,'r,coding='utf-8') as f:   #打开文件赋值给F ,并且执行完了之后不需要 f.close(). 在Python 2.7 及以后,with又支持同时 ...

随机推荐

  1. 软件开发的SOLID原则

    再次回顾以前潘加宇老师将的软件开放的原则. SOLID: 单一责任原则 S 开放封闭原则 O 里氏代换原则 L 接口分离原则 I 依赖反转原则 D 所有编程都是维护编程,因为你很少写原创代码.只有你在 ...

  2. swagger-注解

    常用注解 @Api(value = "xxx"):用于类,表示标识这个类是swagger的资源. tags–表示说明,如果有多个值,会生成多个list value–也是说明,可以使 ...

  3. 一、Node.js安装及环境配置之Windows篇

    一.安装环境 1.本机系统:Windows 10 Pro(64位)2.Node.js:v6.9.2LTS(64位) 二.安装Node.js步骤 1.下载对应你系统的Node.js版本:https:// ...

  4. svn clearup svn cleanup failed–previous operation has not finished; run cleanup if it was int错误的解决办法

    今天svn提交,出现异常:svn cleanup failed–previous operation has not finished; run cleanup if it was interrupt ...

  5. Gitlab-Runner基础教程

    一.Intro jenkins和runner,作为主流自动化运维工具来说,两者的大思路其实是一样的,就是将我们提交到代码仓库的代码拉到jenkins或者runner运行的机器里,然后执行一系列的命令( ...

  6. 向指定用户发送WebSocket消息并处理对方不在线的情况

    使用SimpMessagingTemplate发送消息 使用org.springframework.messaging.simp.SimpMessagingTemplate类可以在服务端的任意地方给客 ...

  7. 微信JSAPI支付接口,支付完成后关闭当前窗口

    一.把demo里的这一段: success: function (res) { // 支付成功后的回调函数 if (res.err_msg == "get_brand_wcpay_reque ...

  8. (模板)luoguP3806(树上点分治模板题)

    点分治的写法1: 题目链接:https://www.luogu.org/problem/P3806 题意:给出一颗带边权的树,结点数n<=1e4,每条边有权值<=1e4,有m组询问(m&l ...

  9. (5.14)mysql高可用系列——级联复制与多主一从

    目录: [0]实验需求 级联复制,201为主库,202为从库/同时为203的主库,203为202的从库[1]实验环境 级联:A->B->C 实践思路: (1)直接拿A的xtrabackup ...

  10. JavaScript引用类型简单记录

    Object Array instanceof Function 引用类型 - Object {} 等价于 new Object() 我们经常使⽤用对象来承载可选参数,⽽而⽤用 命名的形式参数来传递必 ...