1,文件操作

f = open("D:\种子.txt",encoding="utf-8",mode="r")
# 打开一个种子.txt文件,权限按操作为只读模式 f = open("D:\种子.txt","r",encoding="utf-8")
# 简写,"r"也可以不写,默认为只读

  读方法:

    1,read  # r模式 ,按照字符读取。

     

f =open("文件操作1",encoding="utf-8",mode="r")
content = f.read(5) # 读取文件里的5个字符
print(content)
f.close()

    2,readline  # 按行读取

f = open("文件操作1",encoding="utf-8",mode="r")
print(f.readline()) # 打印第一行字符串
f.close()

    3,readlines  #按行读取,返回一个列表

f = open("文件操作1",encoding="utf-8",mode="r")
content = f.readlines()
for i in range(len(content)): # 循环列表
content[i] = content[i].strip() # 通过索引去掉每个元素的空格跟换行符
print(content)
f.close()

    4,文件较大,通过for循环遍历每行字符串

f = open("文件操作1",encoding="utf-8")
for i in f:
print(i.strip())
f.close()

    5,rb  文件凡是操作带b字母,都是与非文字类文件相关的。

f = open(r"D:\Qishijihua\视频\day08\day08\美女1.jpg",mode="rb")  # r 为转义字符
content = f.read()
print(content)
f.close()

    6,r+  读写:先读后写

f = open("文件操作1",encoding="utf-8",mode="r+")
content = f.read() # 先读
print(content)
f.write("") # 再写
f.close()
# 如果不读直接写会覆盖

  写模式

    1,w  没有文件,创建文件再写入。有文件清空,后写入。

f = open("种子.txt",encoding="utf-8",mode="w")
f.write("www.hao123.com")
f.close()

    2,wb  非文字类写入  

  

f = open(r"D:\Qishijihua\视频\day08\day08\美女1.jpg",mode="rb")
content = f.read()
print(content)
f1 = open("美女2.jpg",mode="wb")
f1.write(content)
f.close()
f1.close()

    3,w+  写读

f = open("文件操作2",encoding="utf8",mode="w+")
f.write("我爱python")
content = f.read()
print(content)
f.close()

  追加

    1,a  没有文件创建文件也要写。有文件直接在文件后面追加

 

f = open("文件操作2",encoding="utf-8",mode="a")
f.write("\n我爱北京天安门")
f.close()

    2,a+  写读

f = open("文件操作1",encoding="utf-8",mode="a+")
content = f.write("\n天安门上太阳升")
print(content)
f.close()

其他方法:

  1,seek  调整光标,seek(0)调整到开始,seek(0,2)调整到结尾。

  2,readale  是否可读

  3,writable  是否可写

  4,with 主动关闭文件句柄

  5,os.remove  删除文件名

  6,os.rename  修改文件名

# 其他方法:readale ,writable,seek
# f = open('文件操作1',encoding='utf-8')
# if f.writable():
# content = f.read()
# print(content)
# f.close() # seek 调整光标到开始,seek(0) 调整光标到结尾seek(0,2) *****
# f = open('文件操作1',encoding='utf-8')
# f.seek(6) # 按照字节去移动光标
# content = f.read()
# print(content)
# f.close() # f = open('文件操作1',mode='rb')
# print(f.read())
# f.seek(6) # 按照字节去移动光标
# content = f.read()
# print(content)
# f.close() # tell 告知光标的位置 *****
# f = open('文件操作1',encoding='utf-8')
# f.seek(0,2) # 按照字节去移动光标
# print(f.tell())
# f.close() # truncate 要在writable模式下进行截取。
# r+ a+ ..不能在w模式下使用,对原文件进行截取
# f = open('文件操作1',encoding='utf-8',mode='r+')
# print(f.truncate(6))
# f.close() # 1,主动关闭文件句柄
# with open('文件操作2',encoding='utf-8') as f1:
# print(f1.read())
# 2,开启多个文件句柄。
# with open('文件操作2',encoding='utf-8') as f1,\
# open('文件操作3',encoding='utf-8',mode='w') as f2:
# print(f1.read())
# f2.write('666666')

其他方法代码

# 文件的改的操作

# 1,以读的模式打开原文件,产生一个文件句柄f1.
# 2,以写的模式创建一个新文件,产生一个文件句柄f2.
# 3,读取原文件内容,进行修改,并将修改后的写入新文件。
# 4,将原文件删除。
# 5,将新文件重命名成原文件。 # low版
import os
with open('alex的深度剖析', encoding='utf-8') as f1,\
open('alex的深度解析.bak',encoding='utf-8',mode='w') as f2:
old_content = f1.read()
new_content = old_content.replace('alex','SB')
f2.write(new_content)
os.remove('alex的深度剖析')
os.rename('alex的深度解析.bak', 'alex的深度剖析')
# import os
with open('alex的深度剖析', encoding='utf-8') as f1,\
open('alex的深度解析.bak',encoding='utf-8',mode='w') as f2:
for line in f1:
new_line = line.replace('SB','alex')
f2.write(new_line)
os.remove('alex的深度剖析')
os.rename('alex的深度解析.bak', 'alex的深度剖析')

文件的改的操作

python成长之路五-文件操作的更多相关文章

  1. python之路(五)-文件操作

    文件操作无非两个,即:读.写 python 2.x: 文件句柄 = file('文件路径', '模式') python3.x: 文件句柄 = open('文件路径', '模式') 打开文件的模式有: ...

  2. Python学习之路4 - 文件操作&编码转换

    文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式, ...

  3. python爬虫之路——基本文件操作

    介绍python如何打开文件和读取数据 新建TXT文档,为追加模式: f=open('c;/wendang/demo.txt','a+') content="abcdefg123456789 ...

  4. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  5. 【Python成长之路】装逼的一行代码:快速共享文件

    [Python成长之路]装逼的一行代码:快速共享文件 2019-10-26 15:30:05 华为云 阅读数 335 文章标签: Python编程编程语言程序员Python开发 更多 分类专栏: 技术 ...

  6. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  7. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

  8. python成长之路第三篇(4)_作用域,递归,模块,内置模块(os,ConfigParser,hashlib),with文件操作

    打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.作用域 2.递归 3.模块介绍 4.内置模块-OS 5.内置模块-ConfigParser 6.内置模块-has ...

  9. python成长之路第一篇(5)文件的基本操作

    一.三元运算 我们在上章学习的if,,else,,有一种简便的方法 他的表达式是这样的:变量 = 值1 if 条件 else 值2 解释过来就是如果aaa等于sss则输出值1否则输出值2 二.类的概念 ...

随机推荐

  1. BZOJ3451 Normal 期望、点分治、NTT

    BZOJCH传送门 题目大意:给出一棵树,求对其进行随机点分治的复杂度期望 可以知道一个点的贡献就是其点分树上的深度,也就是这个点在点分树上的祖先数量+1. 根据期望的线性性,考虑一个点对\((x,y ...

  2. 一头雾水的"Follow The Pointer"

    原文:一头雾水的"Follow The Pointer" 一头雾水的"Follow The Pointer"                           ...

  3. Python基础(中)

    前言 print(" _ooOoo_ ") print(" o8888888o ") print(" 88 . 88 ") print(&q ...

  4. Effective C++学习笔记之#define

    前言 条款02:尽量以const.enum.inline替换#define:尽可能用编译器代替不必要的预处理器. 内容 一.对于单纯常量 1.const 有两种特殊的const,常量指针和class专 ...

  5. gerrit代码简单备份方案分享

    由于前期部署了gerrit代码审核系统,开发调整后的线上代码都放到gerrit上,这就要求我们要保证代码的安全.所以,对gerrit代码的备份至关重要! 备份的策略是:1)先首次将gerrit项目代码 ...

  6. javascript DOM操作中的insertAdjacentHTML方法

    插入HTML内容与文本内容以前用的是innerHTML与innerText方法,今天看到insertAdjacentHTML和 insertAdjacentText两个API,特地学习一下: inse ...

  7. Python常见字符编码间的转换

    主要内容:     1.Unicode 和 UTF-8的爱恨纠葛     2.字符在硬盘上的存储     3.编码的转换     4.验证编码是否转换正确     5.Python bytes类型 前 ...

  8. jenkins 上命令各种找不到问题

    代码: 兵马未动,粮草先行 作者: 传说中的汽水枪 如有错误,请留言指正,欢迎一起探讨. 转载请注明出处.   在使用jenkins的时候,会使用一些命令行,有的时候明明在电脑的命令行(终端)可以执行 ...

  9. 五子棋游戏SRS

    一.功能需求 1.绘制棋子 2.绘制界面 3.绘制棋盘 4.实现通过鼠标下棋并判断棋子是否落在棋盘上 6.判断胜负 二.用例图 玩家用例图: 1.落子:玩家鼠标点击最近的落子点落子.2.电脑先落子:选 ...

  10. Android中加解密算法大全

    Base64编码 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,本质上是一种将二进制数据转成文本数据的方案,对于非二进制数据,是先将其转换成二进制形式,然后每连续6比特(2的6次 ...