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.文件修改功能

文件操作 - 三元运算/chardet/文件操作r w/文件的操作方法的更多相关文章

  1. 第三天 函数 三元运算 lambda表达式 内置函数 文件操作

    面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...

  2. Python之路第三天,基础(3)-set,函数,内置函数,文件,三元运算,lambda

    set集合 集合是一个无序的,不重复的元素集合. 集合的创建: name_set = {'tom','jerry','alex','rose'} 或 name_set = set(['tom','je ...

  3. 文件操作符|-e|-M|-s|-A|_|-r -w $filename|stat|localtime|&|>>|<<

    TTY:终端是一种字符型设备,它有多种类型,通常使用tty 来简称各种类型的终端设备 #!/usr/bin/perl use strict; use warnings; print "exi ...

  4. python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb

    要了解文件读写模式,需要了解几种模式的区别,以及对应指针 r : 读取文件,若文件不存在则会报错 w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件 a : 写入文件,若文件不存在则会先创建再 ...

  5. Android——Android studio项目中如何查看R.java文件(转)

    Android Studio 是Google推出的一个Android开发环境,它集成了Android 开发工具用于开发和调试,类似 Eclipse ADT.Google公司停止对eclipse的后续支 ...

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

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

  7. python3 文件操作练习 r+ w+ a+ 的理解

    突然来一句:“慨然有经略四方之志” 文件操作三部曲:1.先用open打开 2.再写关闭  3.再回到中间写操作     为啥要刚打开就关闭 那是很容易望,所以先写上... 基本格式 f = open( ...

  8. python文件操作r+,w+,a+,rb+,

    w:以写方式打开, a:以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+:以读写模式打开 w+:以读写模式打开 (参见 w ) a+:以读写模式打开 (参见 a ) rb:以二进制读模式 ...

  9. R语言文件相关的操作

    1. 文件系统介绍 R语言对文件系统的操作,包括文件操作和目录操作,函数API都定义在base包中. 2. 目录操作 2.1 查看目录 查看当前目录下的子目录. # 启动R程序 ~ R # 当前的目录 ...

随机推荐

  1. JPA(二):EntityManager

    上述我们知道什么是JPA了,接下来这篇文章就主要为大家介绍JPA的一个重要内容:EntityManager.不论什么对实体的操作都是通过它来完毕的. 先来说说什么是EntityManager.顾名思义 ...

  2. redis源码学习_整数集合

    redis里面的整数集合保存的都是整数,有int_16.int_32和int_64这3种类型,和C++中的set容器差不多. 同时具备如下特点: 1.set里面的数不重复,均为唯一. 2.set里面的 ...

  3. 创建ajax的过程

    step1. 创建XMLHttpRequest对象,也就是创建一个异步调用对象: step2. 创建一个新的HTTP请求,并指定改HTTP请求的方法.URL以及验证信息: step3. 设置响应HTT ...

  4. 15.3.14 DP练习2

    拦截导弹 题目 某国为了防御敌国的导弹突击,发展出一种导弹拦截系统. 可是这样的导弹拦截系统有一个缺陷:尽管它的第一发炮弹可以到达随意的高度.可是以后每一发炮弹都不能高于前一发的高度. 某天,雷达捕捉 ...

  5. 基于ffmpeg 直播推流和播放rtmp (IOS源码)

    ios直播推流每秒能达到30帧,比安卓要强,视频采用软编码的话手机会发烫,得采用码编码,播放视频采用opengl渲染. ffmpeg初始化代码如下: int init_Code(int width, ...

  6. oracle 手动 备份 恢复

    手工备份, 我只考虑全备, 即 control file, redo log file, datafile, password file, spfile(pfile), listener.ora, t ...

  7. ArrayList和Vector的区别?

    ArrayList和Vector的区别? 解答:同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的:数据增长:当需要增长时,Vector默认增长为原来一 ...

  8. Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案

    当前中文指代消解领域比较活跃的研究者是Chen和Vincent Ng,这两个人近两年在AAAI2014, 2015发了一些相关的文章,研究领域跨越零指代.代词指代.名词指代等,方法也不是很复杂,集中于 ...

  9. backbone Model调用save方法的时候提交方式

    horizon使用的是backbone框架,但是我们的后台api都是只接收post请求,请求的路径为/api/,根据backbone的官档解释: backbone的model.save方法会判断当前的 ...

  10. 我的第一个reactnative

    由于在做极光推送,前端使用的框架是reactnative,后台写好后为了测试一下,所以按照react官方的教程搭了遍react. 开发环境: 1.windows 7(建议各位如果开发react的最好还 ...