2018/12/22
encode 编码
decode 解码
declared 声明
1.二进制----->ASCII :只能存英文和拉丁字符。一个字符占一个字节,8位-------->gb2312:只能6700多个中文,1980----------->gbk1.0:存了2万多字符,1995-------------->gb18030:2000年,27123中文万国码(向下兼容其它码表)--------->unicode: utf-32:一个字符占4个字节--------->unicode: utf-16:一个字符占2个字节或两个以上,65535个字符--------->unicode: utf-8:一个英文用ASCII码来存,一个中文占3个字节
2.in python2(里面内存默认utf-16)默认 ASCII码表时用: -*- coding:utf-8 -*-(注意输出窗口的编码表是否和使用的编码表一致)
3.转码python2#-*- coding:utf-8 -*-#author: wylkjj#date:2018/12/19#python2里运行s = "特斯拉"s_to_unicode = s.decode("utf-8")unicode_to_gbk = s_to_unicode.encode("gbk")print(s)print(s_to_unicode)print(unicode_to_gbk)
4.in python3默认 是unicodeencode 在编码的同时,会把数据转成bytes类型decode 在解码的同时,会把bytes类型转成字符串b = byte = 字节类型 = [0-255]之间的纯数字的字节类型
5.文件操作(由于python是用c语言写的,所以存储字符时有指针的移动)#author: wylkjj#date:2018/12/19#对文件进行读操作data = open('小重山', 'r', encoding='utf-8').read()#对文件进行读操作print(data)f = open('小重山', 'r', encoding='utf-8')data = f.read()print(data)f.close()
(1)读:read全文f = open('小重山', 'r', encoding='utf-8')#data = f.read()datas = f.read(5)#读五个字节#print(data)print(datas)f.close()
(2)写:write类似重新写一个文档f = open('小重山2', 'w', encoding='utf-8')#只进行读操作,没有文件创建文件f.write("hello word\n")#注:空格f.write("alex")f.close()
(3)写:append接着文件里面内容进行写操作f = open('小重山', 'a', encoding='utf-8')f.write("\nhello word \n")f.write("alex \n")f.close()
(4)读:取行f = open('小重山', 'r', encoding='utf-8')# print(f.read(5))# print(f.read(5))print(f.readline())print(f.readline())
(6)读取:第六行number = 0for i in f.readlines():#print(i)#除字符串自带一个换行符外print还自带一个换行符所以会出项两个换行#print(i.strip())#清除多余换行符number += 1if number == 6:print(i.strip())f.close()
(7)在行元素中加内容f = open('小重山', 'r', encoding='utf-8')data = f.readlines()number = 0for i in data:#for内部将for对象做成一个迭代器#print(i)#除字符串自带一个换行符外print还自带一个换行符所以会出项两个换行#print(i.strip())#清除多余换行符number += 1if number == 6:#i=i.strip()+'oooo'#字符串拼接尽量不要用+,用joini=''.join((i.strip(),'iiii'))print(i.strip())f.close()最好用下面的这种方法:f = open('小重山', 'r', encoding='utf-8')data = f.readlines()number = 0for i in data:number += 1if number == 6:i = ''.join((i.strip(), 'iiii'))print(i.strip())f.close()
(8)调整光标位置f = open('小重山', 'r', encoding='utf-8')print(f.tell())print(f.read(2))#英文就占一个,中文就占三个print(f.tell())f.seek(0)#调整光标起始位置print(f.tell())print(f.read(4))f.close()
(9)占位f = open('小重山', 'r', encoding='utf-8')print(f.tell())print(f.read(2))#英文就占一个,中文就占三个print(f.tell())f.seek(0)#调整光标起始位置print(f.tell())print(f.read(4))f.close()
6.缓冲设置原理:import sys,timefor i in range(30):sys.stdout.write("*")#没有时间设置时先存进缓冲区,然后一次性输出。sys.stdout.flush()#缓冲进程,进度条原理,直接调用方法time.sleep(0.2)#每0.2秒输出import sys,timefor i in range(30):print("*",end=" ",flush=True)#用的函数time.sleep(0.2)f = open('小重山', 'r', encoding='utf-8')print(f.isatty())#判断文件是否是终端#f.truncate()f.close()
7.模式
(1)r+读写模式(光标在起始位置)f = open('小重山', 'r+', encoding='utf-8')print(f.readline())f.write('岳飞')#默认写在最后一层f.close()
(2)w+写读模式f = open('小重山2', 'w+', encoding='utf-8')#先清空再读,再写f.write('岳飞')print(f.tell())f.seek(0)print(f.readline())f.close()
(3)a+追加读模式(光标在最后位置)f = open('小重山2', 'w+', encoding='utf-8')#先清空再读,再写f.write('岳飞')print(f.tell())f.seek(0)print(f.readline())f.close()
(4)终极问题f = open('小重山', 'r+', encoding='utf-8')number = 0for line in f:number += 1if number==6:f.write('alex')#只能从最后面写入f.close()把文件写入一个新文件中,并在遍历时修改所要修改的地方f_read = open('小重山', 'r', encoding='utf-8')f_write = open('小重山3', 'w', encoding='utf-8')number = 0for i in f_read:number += 1if number == 5:i=''.join((i.strip(),'alex','\n'))f_write.write(i)f_write.close()f_read.close()
2018/12/22相关推荐
- 方舟等级生成工具 V2.6!支持属性倍数设置!每级经验可调!【2018.12.22更新】
#程序介绍: 仅支持Sream版本,包括破解版和正式版. 研究点数为每级点数. 每个属性最多加点255点!!!每个属性最多加点255点!!!每个属性最多加点255点!!! 重要的事情说3遍!!! #更 ...
- 2018/12/22 一位前端实习生 艰辛过程 励志 实习周记(一)—— 前言
记录经历的真事,载入实习的日志 别人双12纷纷剁手,我双12找到实习,也算是在双12给我最好的礼物了 下面就是记载了我当时找实习的经历的一些真事,也算是给自己,给别人一些提示吧. 11月底,来杭州这边 ...
- 2018.12.22 spoj7258 Lexicographical Substring Search(后缀自动机)
传送门 samsamsam基础题. 题意简述:给出一个串,询问第kkk大的本质不同的串. 然而这就是弦论的简化版. 我们把samsamsam建出来然后贪心选择就行了. 代码: #include< ...
- 欢乐纪中某B组赛【2018.12.22】
前言 全暴力第9了解一下, 成绩 RankRankRank是有算别人的 RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC 999 ...
- 2018/12/22 JSJ_JC_03
LFS Linux from scratch自制linux centos 7.4 rhel 7.4 rhel 7.5 centos 7.5 kernel 3.10 开源 open source,软件和 ...
- 2018/12/22 JSJ_JC_02马哥
1byte=8bit san iscsi 网络实现 san iscsi服务器,提高磁盘空间 iscsi 客户端: rhce 红帽 app1 App2 library 软件模块. lib posix s ...
- 12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理
2019独角兽企业重金招聘Python工程师标准>>> 12.21 php-fpm的pool 为了避免因多站点使用同一个pool时因一个站点故障导致pool出问题,进而影响使用同一个 ...
- 2018/01/22 爬虫日记
20171024 ①导入自定义的模块(如类),需要在当前类作导入 类的引用声明,如self.tool = tool.Tool() 20171025 ①正则表达式:两个<><>之 ...
- Java学习笔记——从零开始(2018.04.22已更新)
2018.04.08 --Java开发入门-- -计算机基本概念- •什么是计算机 计算机是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算 ...
最新文章
- set debug mode for flex builder
- Ocelot + IdentityServer4 构建 GateWay
- TCP连接建立与终止,及状态转换
- 软件项目管理0819:一页项目管理——风险,定性问题和其他评价指标
- TenSorFlow随笔-除法
- Kafka为什么速度那么快?
- Dockerfile构建nginx镜像
- 苹果叒要开发布会了!多款新机曝光,Intel不淡定了
- 跨域问题,解决方案-Nginx反向代理
- transform 的副作用
- 从数据库读取数据后输出XML
- VALSE学习(四):注意力机制-Attention Network
- 遗传算法是机器学习算法嘛?_基于遗传算法的机器人控制器方法
- Android 修改字体,跳不过的 Typeface
- 低通滤波器的设计与DSP实现
- 批量删除 Excel 工作薄文档中的工作表
- 青年教师计算机培训美篇,小学生停课不停学美篇 小学生停课不停学美篇开头语...
- 零信任网络ZTNA及SDP概念理解
- Java有参构造方法和无参构造方法
- Echarts2.27树图和Handler.aspx结合