【python怎么表示八进制】教程文章相关的互联网学习教程文章

python – 创建二进制PBM / PGM / PPM【代码】

我正在尝试了解如何创建二进制PBM / PGM / PPM文件.据我所知,每种格式有两种类型:普通格式和原始格式.例如,黑色PBM 55的结构如下所示:P1 # This is a comment 5 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1所以你看它很简单:白色是0,黑色是1.但是,PBM有原始版本,如下所示:'P4\n# This is a comment\n5 5\n\xf8\xf8\xf8\xf8\xf8'我该怎么做? PBM格式的描述说: 高度行的栅格,按从上到下的顺序排列.每行是宽度位,打包...

Python将colorsys RGB坐标转换为十六进制【代码】

从this answer开始,我在Python中生成一些均匀间隔的颜色,如下所示:>>> import colorsys >>> num_colors = 22 >>> hsv_tuples = [(x*1.0/num_colors, 0.5, 0.5) for x in range(num_colors)] >>> rgb_tuples = map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples) >>> rgb_tuples [(0.5, 0.25, 0.25), (0.5, 0.3181818181818182, 0.25), (0.5, 0.38636363636363635, 0.25), (0.5, 0.45454545454545453, 0.25), (0.477272727272727...

在python中查找十进制数的小数部分中的位数【代码】

给定python中的十进制数,如何找到小数点后的位数?assert digits(Decimal('1.2345')) == 4 assert digits(Decimal('1000')) == 0 assert digits(Decimal('1.00')) == 2 assert digits(Decimal('1E+5')) == 0 assert digits(Decimal('1.2E+5')) == 0解决方法:经过一些实验,这似乎正常工作:def digits(n):return max(0,-n.as_tuple().exponent)

python – 从颜色名称matplotlib获取十六进制【代码】

我知道matplotlib支持的这个颜色列表: https://pythonhosted.org/ete2/reference/reference_svgcolors.html 有没有一种程序化的方法将这个名称转换为十六进制? 我想要一个接收颜色名称并返回此颜色的十六进制值的函数. 谢谢.解决方法:matplotlib.colors.cnames是matplotlib所有颜色及其十六进制值的字典:import matplotlib print matplotlib.colors.cnames["blue"]--> u'#0000FF'

使用缓冲区在Python中计算二进制文件上的CRC/C++RC32散列/校验和【代码】

我一直在努力教自己Python,所以我不完全理解我在做什么.我很尴尬地说这个,但我的问题应该很容易回答.我希望能够对二进制文件执行CRC校验和,代码类似于:# http://upload.wikimedia.org/wikipedia/commons/7/72/Pleiades_Spitzer_big.jpgimport zlibbuffersize = 65536with open('Pleiades_Spitzer_big.jpg', 'rb') as afile:buffr = afile.read(buffersize)while len(buffr) > 0:crcvalue = zlib.crc32(buffr)buffr = afile.read(b...

在Python中从十进制转换为任何基数【代码】

此函数接受任何基数为10的整数,并以指定的base-32形式返回该数字的字符串表示形式:def encodeN(n,N,D="0123456789qwertyuiopasdfghjklzxc"):return (encodeN(n//N,N)+D[n%N]).lstrip("0") if n>0 else "0"例:print (encodeN(16002,32))输出:ya2但我有一个问题,从base-32写入解码函数回到base-10.我怎么写呢?我可以输入自定义非标准字符来扩展base-n吗?解决方法:你可以作弊:tmap = str.maketrans('qwertyuiopasdfghjklzxc', '...

python3中的datetime到十进制小时和分钟【代码】

我有一个每30分钟有一次气象数据的数据框.使用我的日期时间索引,我需要创建一个带有时间戳的列,但它必须是十进制的.这是以下示例:In [134]: df.index[0:3] Out[134]: DatetimeIndex(['2016-01-01 00:30:00', '2016-01-01 01:00:00','2016-01-01 01:30:00'],dtype='datetime64[ns]', name='date_time', freq=None)我需要创建一个列,如下所示:df.new[0:3] 0.5,1,1.5哪里有30分钟我变换.5.按照我的脚本:import pandas as pd impor...

如何确定二进制图像中的对象方向? (Python,OpenCV)

我应该确定风车从航拍图像面向的方向(相对于真北 – 0到359度). 我的问题是,如何确定风车的正确方向并计算其相对于y轴的角度?谢谢!解决方法:Dunno如果这一般起作用,但考虑到你的样本图像,我会找到边界框短边的中点,并为大BBox的两半得到两个矩形. 然后我会计算两个单独的半BBox中掩模像素的总和,假设白色为1而黑色为0.由于白色区域在涡轮机“前”的矩形的一半上更大,因此选择根据两个半BBox中的哪个具有更高的总和的方向

python – 从不同的目录导入二进制包【代码】

我有以下目录结构:root/srcfile1.pyfile2.py/libs__init__.pypackage.so我希望在file1.py中导入package.so. 我尝试了以下导入语句无济于事:from .libs.package import func from libs.package import func from .libs import package from libs import package我想避免设置PYTHONPATH / sys.path. 有一个简单的方法吗?我认为问题是由于包是共享对象而不仅仅是Python文件 – 我无法访问它的源代码. 谢谢,亚当解决方法:如果您打算...

python – numpy二进制光栅图像到多边形变换【代码】

我想将2d numpy数组转换为多边形.性能对我来说非常重要,但我想避免进行C扩展.可以通过侵蚀来制作二进制轮廓图像.然后我找到了this.它太慢了,并没有应对有时侵蚀造成的尖峰.尖峰:000100 000100 000100 111011我的第一次尝试:mat = mat.copy() != 0 mat = mat - scipy.ndimage.binary_erosion(mat)vertices = np.argwhere(mat) minx = vertices.min(axis=0)[0] maxx = vertices.max(axis=0)[0]vertices_sorted = {} for x in xrang...

python – 有没有办法测试数据X和二进制输出Y之间的相关性?【代码】

我正在尝试找到一个Python方法/库来测试自变量X和二进制输出Y之间的相关性. 例如,假设我有以下数据和输出: X Y0.65 10.11 00.13 00.35 10.21 0… 假设如果(X> 0.3)则输出Y为1,否则为0.如果我不知道这种相关性(阈值0.3),是否有统计方法/测试来找出X和Y之间的相关程度? 例如,一些返回的方法x = [0.65, 0.11, 0.13, 0.31, 0.21] y = [1, 0, 0, 1, 0] print some_test(x, y)==> returns "degree of correlation = 1.0"谢谢解决方法:您...

Python的丰富比较行为(或者,当十进制(‘100.0’)<.01时)【代码】

所以我有一个班轮:import decimal; h = decimal.Decimal('100.0'); (h > .01, h < .01, h.__gt__(.01), h.__lt__(.01))它所做的就是使一个Decimal对象保持100.0,并以各种方式将它与.01(浮点数)进行比较. 我的结果是:>>> import decimal; h = decimal.Decimal('100.0'); (h > .01, h < .01, h.__gt__(.01), h.__lt__(.01)) (False, True, NotImplemented, NotImplemented)从文档:“丰富的比较方法可能会返回单例NotImplemented,如...

python – 二进制/十六进制浮点输入【代码】

为什么基数10只允许小数点?为什么以下引发语法错误?0b1011101.1101我打字的号码有些含糊不清吗?似乎除了93.8125之外,没有可能的字符串表示字符串 同样的问题也适用于其他基地:0x5d.d我可以用一个相当简单的函数来编程:def base_float(number_string, base):n = number_string.split('.')number = int(n[0], base)if len(n) > 1 and len(n[1]):frac_part = float(int(n[1], base)) / base**len(n[1])if number < 0:frac_part =...

十进制Python与浮点运行时【代码】

关于在使用这两种不同数据类型之间我应该期待什么样的运行时差异的一般问题. 我的测试:test = [100.0897463, 1.099999939393,1.37382829829393,29.1937462874847272,2.095478262874647474] test2 = [decimal.Decimal('100.0897463'), decimal.Decimal('1.09999993939'), decimal.Decimal('1.37382829829'), decimal.Decimal('29.1937462875'), decimal.Decimal('2.09547826287')]def average(numbers, ddof=0):return sum(numbers...

Python进制转换【代码】【图】

进制转换:先介绍用传统数学方法,再介绍用python内置方法二进制转十进制: 1101 转为十进制 1*2^(4-1)+1*2^(3-1)+0*2^(2-1)+1*2^(1-1) 即各个位拆开,乘以2的(位数-1)次方,结果为13>>> int(1101,2) 13>>> int(0o226,8) #00226 0:阿拉伯数字零 o:小写英文字母 o 226:八进制数150>>> int(0x96,16)150同理可得:把八进制、十六进制数按权展开、相加即得十进制数。 十进制转二进制: 比如13 用13除以2,得到的商再除以...