Alex:读书可以改变一个人的气质
读书:豆瓣; 1年读20本
你的问题:想法太多,读书太少
书:追风筝的人,白鹿原  
电影:阿甘正传 辛德勒名单
-------------------------------------------
1.三元运算 = 三目运算
>>> a = 2
>>> b = 5
>>> val = a if a < b else b
>>> val
2

-------------------------------------------
2.文件处理:
找到 打开 读 修改 保存 关闭
f = open(file='D:/**.txt',mode='r',encoding='utf-8') //只读
data = f.read()
f.close()

mode='r' encoding='utf-8' #表示 只读 硬盘上的0101按照utf-8的规则去‘断句’,再将断句后的每一段0101转换成Unicode的01010,Unicode对照表中0101和字符的对应关系。
mode='rb' # 以什么形式存的就以什么形式读 二进制打开 不是给人看的给机器看的 视频 图片 网络传输用的

-----------------------
3.chardet:
问:加入不知道你要处理的文件是什么编码怎么办?用第三方的模块 pip3 install chardet
安装第三方的共工具箱 chardet 检测字符编码
pip3 install chardet //python的chardet的模块安装 C:\Users\bj\AppData\Local\Programs\Python\Python36\Scripts 下面 输入pip3 install chardet
import chardet
f = open(file='联系方式.txt',mode='rb')
data=f.read()
print(data)
---->: b'alex 1233\njack 1243\nrain afd\n\xd6\xd0\xb9\xfa\n\xc3\xc0\xb9\xfa'
f.close()
result = chardet.detect(data)
print(result)
----> {'encoding': 'GB2312', 'confidence': 0.99, 'language': 'Chinese'}
print(data.decode('gb2312'))
alex 1233
jack 1243
rain afd
中国
美国

------------------------
4.边读边操作文件
model='r/rb' #整个文件 一次性读到内存中
边读边处理;一点一点读 循环读
f = open('联系方式.txt', mode='r', encoding='gb2312')
for line in f
print(line)
f.close()

-------------------------
5.model = 'w/wb' 创建在写 如果之前同名有文件,就清空了再重写
f = open('联系.txt','w',encoding='utf-8')
f.write("路飞学城")
f.close()

f = open('兼职1.txt', 'wb')
f.write("好孩子1".encode("gbk"))
f.close()

-------------------------
6.追加模式操作文件model='a/ab'
f = open('兼职2.txt','a',encoding='gbk')
f.write("\nalice\nalex")
f.close()

f = open('兼职2.txt','ab')
f.write("\nhello\nworld".encode("gbk"))
f.close()

-------------------------
7.model='r+'读写模式 先读后写 支持往后追加
f = open("联系方式.txt",'r+',encoding='gbk')
print('content:',f.read())
f.write('\nnew 1哈哈')
f.write('\nnew 2哈哈')
print('newcontnet:',f.read()) #因为读文件的光标到了最后
f.close()

-------------------------
8.model='w+'写读模式 以写的模式打开 支持你读 创建了文件,写东西 一般不用
f = open("联系方式.txt",'w+',encoding='gbk')
data = f.read()
print(data)
f.write('\nnew a')
f.write('\nnew b')
f.write('\nnew c')
print('new:',f.read())
f.close()

------------------------
9.文件的其他操作方法:
fileno() 返回文件句柄在内核中的索引值
flush() 把文件从内存buffer里强制刷新到硬盘
readline() 只读一行 遇到\r or \n为止
tell() 返回当前文件操作光标位置 按字节算的
seek(0) 把操作文件的光标移动到指定位置 按字节算的
read(1) 读几个字符 按字节算的
readable() 判断是否可读
seekable() 判断文件是否可进行seek操作
writeable()判断文件是否可写
truncate(6) 按指定定长度截断文件 r+模式 从当前位置往后截断

-------------------------
10.文件修改功能 - 数据被覆盖
# 数据被覆盖 不是往后移 硬盘存储的原理造成的
# word 为什么可以呢 文件全部加载到内存 改完之后在重新写回去
# 如果文件特别大 会把内存撑爆
# 边读边写 一点一点 读到内存 在写回新文件
f = open("联系2.txt", 'r+', encoding='gbk')
f.seek(2)
f.write("我们")
f.close()

-------------------------
11.文件修改占硬盘 - 数据被修改
import os
f_name = '联系方式.txt'
f_new_name = '联系方式new.txt'
old_str = '学诚'
new_str = '大学城大学城'

f = open(f_name, 'r+', encoding='gbk')
f_new = open(f_new_name, 'w', encoding='gbk')

for line in f:
    if old_str in line:
        line = line.replace(old_str,new_str)

f_new.write(line)
f.close()
f_new.close()

# os.rename(f_new_name,f_name)
os.replace(f_new_name, f_name)

-----------------------------------------------------------------------
总结:
1.三元运算
2.model = 'r/rb'
3.chardet
4.边读边操作文件 s
5.model = 'w/wb'
6.model='a/ab'
7.model='r+'
8.model='w+'
9.文件的其他操作方法
10.文件修改功能

转载于:https://www.cnblogs.com/alice-bj/p/8449339.html

文件操作 - 三元运算/chardet/文件操作r w/文件的操作方法相关推荐

  1. 图像的形态学开操作(开运算)和闭操作(闭运算)的概念和作用,并用OpenCV的函数morphologyEx()实现对图像的开闭操作

    大家看这篇博文前可以先看一看下面这篇博文,下面这篇博文是这篇博文的基础: 详解图像形态学操作之图形的腐蚀和膨胀的概念和运算过程,并利用OpenCV的函数erode()和函数dilate()对图像进行腐 ...

  2. Python基础(三)深浅拷贝、函数、文件处理、三元运算、递归、冒泡排序

    本章内容: 深浅拷贝 函数(全局与局部变量) 内置函数 文件处理 三元运算 lambda 表达式 递归(斐波那契数列) 冒泡排序 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝 ...

  3. LabVIEW灰度图像操作与运算(基础篇—2)

    目录 1.像素操作 2.灰度图像操作 2.1.图像平移.旋转 2.2.图像缩小.放大 2.3.图像对称变换 2.4.3D可视化 3.灰度图像运算 3.1.图像平均降噪 3.2.提取夜视仪闪光故障点 3 ...

  4. 只不过是R.java文件的特性-----出错信息:R.java was modified manually! Reverting to generated version!...

    出错信息:R.java was modified manually! Reverting to generated version! 出错原因:今天在res下建立了一个drawable的文件夹存放图片 ...

  5. 如何linux删除文件夹,linux删除文件夹,教您电脑的linux怎么样删除文件夹

    有些爱学习的用户会去操弄linux软件程序,在操作linux的过程中,有时候要删除一个文件夹,往往会提示次此文件非空,没法删除,这对于刚接触的用户来说无疑是一个巨大的困难,为此,小编这就来跟大家分享l ...

  6. Linux:Root(管理员)新建用户,并赋普通用户文件夹的权限,同时普通用户设置文件权限仅自己能访问

    1.新建用户 (1)为了获取创建用户的权限,切换为root用户 peng@ubuntu:~$ sudo su (2)添加一个新用户(如用户名为xyz) root@ubuntu:/home/peng# ...

  7. python中open函数打开文件_Python open函数详解:打开指定文件

    掌握了各种操作目录字符串或目录的函数之后,接下来可以准备读写文件了.在进行文件读写之前,首先要打开文件. Python 提供了一个内置的 open() 函数,该函数用于打开指定文件. open() 函 ...

  8. W文件能用计算机格式吗,W 文件扩展名: 它是什么以及如何打开它?

    解决难以打开 W 文件的问题 打开 W 文件过程中所遇到的常见问题 OpenEdge 已删除 如果您尝试加载 W 文件,则会收到 "无法打开 W 文件" 等消息. 发生这种情况时, ...

  9. python基础:python循环、三元运算、字典、文件操作

    目录: python循环 三元运算 字符串 字典 文件操作基础 一.python编程 在面向过程式编程语言的执行流程中包含: 顺序执行 选择执行 循环执行 if是条件判断语句:if的执行流程属于选择执 ...

最新文章

  1. 一步一步SharePoint 2007之十四:实现Form认证(4)——创建管理帐户
  2. Python 爬虫使用固定代理IP
  3. 归属地的判断规则有吗_IPO|创业板注册制规则-详解股权激励新规
  4. java 共享锁_Java锁--共享锁和ReentrantReadWriteLock
  5. JS-键盘事件之方向键移动元素
  6. TCP多进程并发服务端 Linux socket编程入门(2)
  7. 自定义注解与validation结合使用案例
  8. openssh8.6升级修复(CVE-2020-15778)(CVE-2018-15919)(CVE-2017-15906)等漏洞
  9. sql年月日加减法,计算两个日期之间的天数
  10. 一款好看的提示框-------记录一下地址
  11. 软件测试基础课程学习笔记3---软件测试方法
  12. 当relative遇上z-index,半透明度不阻断事件捕获
  13. 宽带认证客户端_cisco PPPOE 服务端与客户端 配置命令
  14. jQuery EasyUI/TopJUI创建日期时间输入框
  15. 基于Modbus/TCP的西门子1200PLC和STM32通信
  16. arcsinx的图_反三角函数图像大全
  17. 目前航信版开票软件自身导入文本数据的问题
  18. 给图片加水印最简单的方法
  19. MATLAB中text函数使用
  20. 携程帐号变更函(对私)

热门文章

  1. 【测试报告】Java文档搜索引擎性能测试报告
  2. 六间房 繁星 酷我 来疯 秀吧 新浪秀 直播播放器 Live 1.2
  3. 计算机公式浮动额,在Excel中怎么算浮动额?谢谢
  4. Java8 StreamFilter
  5. IT服务公司经理专栏:小公司管理(4)
  6. PS CC2019中英文切换方法
  7. plc实验报告流程图_plc实验报告(20140924)
  8. 单链表的while循环创建
  9. 2019 DGF(深度引导滤波网络) 相关的论文笔记
  10. 蓝天白云何在?国外的天空分外蓝,外国的月亮更加圆?真实与谎言