python二进制、字符编码及文件操作

1. 二进制

bin()十进制转二进制 0b
oct()十进制转八进制 0o
hex()十进制转十六进制 0x,4个二进制对应1个16进制,用于网络编程,数据存储

print(int('110111',2)) = 55
print(int('ffff',16)) = 65535
print(int('7777',8)) = 4095

2. 字符编码

1476661-20190422125908853-127417765.png
ASCII码,8位,1个字节,8bit=1bytes
GB2312,汉字
GBK1.0,繁体
GB18030,少数名族
Unicode,万国码,支持所有语言,全部2个字节,对所有语言有映射关系
UTF-8,对Unicode编码的压缩和优化,ASCII的1个字节,欧洲字符2个字节,东亚字符3个字节

3. 文件

with open (r'a1.txt',r)as f1,open() as f2:
不需要close
乱码情况,什么保存什么读取,win:gbk encoding=‘utf-8’
默认打开模式,r,默认操作模式,r,w,a
修改文件两种方式,全部读入内存,修改,修改后全部写入原文件;以读的方式打开原文件,以写的方式打开新文件,一行一行边读边改

3.1 打开方式

  • r,默认rt,只读,read,readlines
  • w,只写,write,覆盖,writelines,可写列表
  • a,只追加,光标到末尾
  • b,读取二进制,decode可以还原,二进制模式写,汉字.encode
  • 混合模式,r+读写,w+写读
  • 文件只能存字符串用,可以用eval还原存入的数据类型

3.2 文件操作

  • seek,按字节移动,汉字3个,中间写入会覆盖数据,修改方法:全部读入内存修改,用replace替换,for in f 一行一行读取修改,os模块remove原来文件,rename新文件
  • tell
  • read,read(2),读2个字符
  • fileno,返回文件句柄在内核中的索引
  • fluse,强制从缓存刷新到硬盘
  • readable
  • readline
  • seekable
  • truncate,从当前位置开始,后面的删掉;加上值,从值后面开始删

转载于:https://www.cnblogs.com/qiuyicheng/p/10749013.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】【字符串匹配】Trie树

单模式串匹配 BF 算法和 RK 算法 BM 算法和 KMP 算法多模式串匹配算法 Trie 树和 AC 自动机 一、 什么是“Trie树”? 1. 他是一种树形结构,是一种专门处理字符串匹配的数据结构,解决在一组字符串集合中快速查找某个字符串的问题。 2. Trie…

第十三期:消灭 Java 代码的“坏味道”

代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越多。如果用功去清除这些"坏味道",不仅能提高自己的编码水平,也能使代码变得"精白…

力扣 两数相加 指针操作注意事项

两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设…

[Leetcode][第100题][JAVA][相同的树][二叉树][深度遍历][递归]

【问题描述】[中等] 【解答思路】 深度遍历/递归 终止条件与返回值: 当两棵树的当前节点都为 null 时返回 true 当其中一个为 null 另一个不为 null 时返回 false 当两个都不为空但是值不相等时,返回 false 执行过程:当满足终止条件时进…

Java_多态

定义: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的…

第十四期:5 个 JS 不良编码习惯,你占几个呢?

在阅读JavaScript代码时,你是否有过这种感觉:你几乎不明白代码的作用?代码使用了很多 JavaScript 技巧?命名和编码风格太过随意? 这些都是不良编码习惯的征兆。 在阅读JavaScript代码时,你是否有过这种感觉…

力扣3. 无重复字符的最长子串 two pointer算法|滑动窗口|尺取法

无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最…

318. Maximum Product of Word Lengths

问题:给定一个字符串数组words,找到这样的最大值:length(word[i]) * length(word[j]),words[i]和words[j]没有共同的字母。假设输入字符串只包含小写字母。如果不存在这样的两个字符串,则返回0。 思路:难点…

第十五期:详解Java集合框架,让你全面掌握!

一、Java集合框架概述 集合可以看作是一种容器,用来存储对象信息。所有集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。 数组与集合的区别如下: 1)数组长度不可变化而且无法保存具有映射关系的…

[Leetcode][第98 450 700 701题][JAVA][二叉搜索树的合法性、增、删、查][递归][深度遍历]

【二叉搜索树定义】(BST) 二叉搜索树(Binary Search Tree,简称 BST)是一种很常用的的二叉树。它的定义是:一个二叉树中,任意节点的值要大于等于左子树所有节点的值,且要小于等于右边…

关于CNN的权重共享,CNN到底学到了什么?

CNN的fliter里的每个值都是学习出来的不是事先设定好的。 经过fliter处理后得到是特征图(feature map) 卷积减少权重参数的本质: 权重共享,不同的fliter会在某些神经元上权重共享。 到底fliter,到底CNN学到了什么? 底层的flite…

复盘二进制的习题(1)

本文是对近期二进制专题的leetcde习题的复盘。文中的解决思路来源于leetcode的讨论,以及一些网页。 342 判断一个整数(32bits)是否是4的次幂。  写出4i,i0,1,2,3,4...的二进制表示,查找规律。会发现这些数的特征是 a 都>0;b 只有一位是…

第十六期:简单的介绍一下大数据中最重要的MapReduce

MapReduce是分布式运行的,由两个阶段组成:Map和Reduce,Map阶段是一个独立的程序,有很多个节点同时运行,每个节点处理一部分数据。 MapReduce执行流程图 概述 MapReduce是一种分布式计算模型,由Google提出…

【perl】simpleHTTP

【perl】simpleHTTP 类似Python SimpleHTTPServer #!/usr/bin/perl # https://metacpan.org/pod/HTTP::Server::Simple # https://metacpan.org/pod/distribution/CGI/lib/CGI.pod package WebServer;use strict; use warnings FATAL > all; use HTTP::Server::Simple::CGI;…

【数据结构与算法】快排、归并 O(nlogn) 基于比较

冒泡、插入、选择 O(n^2) 基于比较 快排、归并 O(nlogn) 基于比较 计数、基数、桶 O(n) 不基于比较 一、分治思想 1.分治思想:分治,顾明思意,就是分而治之,将一个大问题分解成小的子问题来解决,小的子问题解决了&…

第四章切比雪夫不等式、大数定理、中心极限定理

切比雪夫不等式 设随机变量X具有数学期望E(X)μ&#xff0c;方差D(X)σ2&#xff0c;对于任意ε>0&#xff0c;都有P{|X−μ|≥ε}≤σ2ε2方差越大&#xff0c;X落在区间外的概率越大&#xff0c;X的波动也就越大&#xff0c;与方差的意义统一了。等价公式P{|X−μ|<ε}…

第十七期:记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当

概述 最近有台数据库做了迁移&#xff0c;然后运维人员过了一段时间发现这台服务器非常卡&#xff0c;连远程登录都要很久&#xff0c;下面记录下其中的解决过程。 1、查看资源情况 可以发现内存爆满了&#xff0c;而排名第一的正是sqlserver的进程 2、查看sqlserver内存分配…

Python的dnspython库使用指南

因为平时在测试DNS的时候有些操作手动完成不方便&#xff0c;所以需要用到脚本&#xff0c;而在Python里dnspython这个用于DNS操作的库十分强大&#xff0c;但是无奈网上大部分资料只列举了少部分的用法&#xff0c;所以记录一下我平时使用到的功能&#xff0c;基本上已经能应付…

leetcode 42 接雨水 单调栈

接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图&#xff0c;在这种情况下&#xff0c;可以接 6 个单位的雨水&#xff08;蓝色部分表示雨水…

第十八期:网页禁止复制粘贴怎么办?教你六招轻松搞定

经常在网上遇到一些无法复制的文章&#xff0c;那么问题来了&#xff0c;有什么办法可以绕开这种限制&#xff0c;将网页内容轻松下载回来呢&#xff1f; 经常在网上遇到一些无法复制的文章&#xff0c;那么问题来了&#xff0c;有什么办法可以绕开这种限制&#xff0c;将网页内…