【Python每日打卡—进制那些事儿】教程文章相关的互联网学习教程文章

使用python处理和使用二进制数据HEX【代码】

我正在尝试对某些字节值进行比较-源A来自正在“读取”的文件:f = open(fname, "rb") f_data = f.read() f.close()这些文件的大小可以从几Kb到几Mb 来源B是已知模式的字典:eof_markers = {'jpg':b'\xff\xd9','pdf':b'\x25\x25\x45\x4f\x46',}(一旦基本流程生效,此列表将得到扩展) 本质上,我试图“读取”文件(源A),然后增量检查最后一个字节是否与模式列表testString = f_data [-counter:]相匹配.如果找不到匹配项,则应将计数器增...

在Python中保存1位深的二进制映像【代码】

我在Python中有一个二进制映像,我想将其保存在我的PC中.一旦存储在计算机中,我需要将其设置为1位深的png图像.我怎样才能做到这一点?我尝试使用PIL和cv2,但无法保存1位深度.解决方法:采用:cv2.imwrite(<image_name>, img, [cv2.IMWRITE_PNG_BILEVEL, 1])(这仍将使用压缩,因此在实践中,每个像素很有可能少于1位)

Python:十进制数字的范围函数【代码】

python中是否有用于浮点数的range()函数例如a=0.6if a in range(0,1):a=3我该如何实施?解决方法:如果我没看错,您想测试一个数字是否在其他两个数字之间,因此请使用:a = 0.6 if 0 <= a < 1: # change to `<= 1` to be inclusivea = 3您不需要生成范围并进行成员资格测试-除非您有一个与a匹配的离散值集-Python 3.x中的内置范围可以对整数进行高效查找,因为它可以优化成员资格测试.如果您在较大范围内有大量离散值,那么无论如何数学...

使用python将十六进制转储到YAML中【代码】

现在我正在倾倒到YAML文档中.它在大多数情况下应该正常工作.当我尝试转储像“0x2A”这样的十六进制时,它会转换为42.是否有任何方法可以保持它的十六进制格式?一个字符串不会悲伤地工作.而int(0x2A,16)也只给了我42.解决方法:您可能正在寻找十六进制(0x2a)== hex(42)==’0x2a’. 除非您正在寻找一种方法来说服您现有的转储函数使用十六进制而不是十进制表示法… 回答下面的评论,如果问题是你想要十六进制数字的大写字母(但是0x的小...

在Python列表中进行二进制搜索【代码】

我试图在python中的列表上执行二进制搜索. List是使用命令行参数创建的.用户输入他想要在数组中查找的数字,并返回元素的索引.由于某种原因,程序只输出1和无.代码如下.非常感谢任何帮助.import sysdef search(list, target):min = 0max = len(list)-1avg = (min+max)/2while (min < max):if (list[avg] == target):return avgelif (list[avg] < target):return search(list[avg+1:], target)else:return search(list[:avg-1], targe...

python – ValueError:数据不是二进制,并且未指定pos_label【代码】

我正在尝试计算roc_auc_score,但我收到了以下错误."ValueError: Data is not binary and pos_label is not specified"我的代码片段如下:import numpy as np from sklearn.metrics import roc_auc_score y_scores=np.array([ 0.63, 0.53, 0.36, 0.02, 0.70 ,1 , 0.48, 0.46, 0.57]) y_true=np.array(['0', '1', '0', '0', '1', '1', '1', '1', '1']) roc_auc_score(y_true, y_scores)请告诉我它有什么问题.解决方法:你只需要更改y_...

python – 张量流中的二进制搜索和插值【代码】

我试图在张量流中插入一维张量(我实际上想要相当于np.interp).由于我找不到类似的张量流op,我不得不自己执行插值. 第一步是在y值中搜索相应索引的x值的排序列表,即执行二分搜索.我尝试使用while循环,但我得到了一个神秘的运行时错误.这是一些代码:xaxis = tf.placeholder(tf.float32, shape=100, name='xaxis') query = tf.placeholder(tf.float32, name='query')with tf.name_scope("binsearch"):up = tf.Variable(0, dtype=tf...

使用python ctypes和libc将void指针写入二进制文件【代码】

我使用python ctypes和libc与供应商提供的DLL文件进行交互. DLL文件的目的是从相机获取图像. 图像采集似乎没有错误地运行;我遇到的问题是访问数据. 图像采集功能将ctypes.c_void_p作为图像数据的参数. 简化如下:""" typedef struct AvailableData {void* initial_readout;int64 readout_count; } imageData; """class AvailableData(ctypes.Structure):_fields_ = [("initial_readout", ctypes.c_void_p), ("readout_count", ctyp...

Python:二进制/十六进制字符串转换?【代码】

我有一个包含二进制和字符串字符的字符串,我想先将其转换为二进制,然后再转换为十六进制. 字符串如下:<81>^Q<81>"^Q^@^[)^G ^Q^A^S^A^V^@<83>^Cd<80><99>}^@N^@^@^A^@^@^@^@^@^@^@j如何在Python中转换此字符串,以便十六进制格式的输出类似于下面的内容?24208040901811001B12050809081223431235113245422F0A23000000000000000000001F解决方法:您可以像这样使用ord和hex:>>> s = 'some string' >>> hex_chars = map(hex,map(ord,s...

如何使我的python脚本易于移植?或者如何使用所有模块依赖项编译成二进制文件?

有没有办法将python脚本编译成二进制文件?我有一个文件python脚本,它使用了很多模块.我想要的是在其他机器(freebsd)上复制它,但不在每个主机上安装所有需要的模块. 在这种情况下有哪些可能的解决方案解决方法:可以满足您要求的程序包括: > PyInstaller:http://www.pyinstaller.org/ [Windows,Linux,OS X]> cx_freeze:http://cx-freeze.sourceforge.net/ [Windows,Linux]> py2exe:http://www.py2exe.org/ [Windows]> py2app:h...

python – 二进制流中`open`和`io.BytesIO`之间的区别【代码】

我正在学习如何使用Python中的流,我注意到IO docs说了以下内容:The easiest way to create a binary stream is with open() with ‘b’ in the mode string: f = open("myfile.jpg", "rb") In-memory binary streams are also available as BytesIO objects: f = io.BytesIO(b"some initial binary data: \x00\x01")由open定义的f和由BytesIO定义的f之间的区别是什么.换句话说,是什么构成了“内存中的二进制流”,它与open的不同之...

python – 如何确定用户输入是否是有效的十六进制数?【代码】

#Hex Check def Check():while False:for char in UserInput:if char not in Valid:print ('That is an invalid hex value.')print('That is a valid hex value.')return CheckUserInput=input('Enter a hex number: ') Valid='1''2''3''4''5''6''7''8''9''10''A''B''C''D''E''F'编辑:我试过这个.当我输入十六进制值时,例如B2没有消息出现.解决方法:将第6行更改为Hex=int(input('Enter a hex number: '), 16)该行将成功解析任何十...

python – 将pandas dataframe列从十六进制字符串转换为int【代码】

我有一个非常大的数据框,我想避免遍历每一行,并希望将整个列从十六进制字符串转换为int.它不会使用astype正确处理字符串,但单个条目没有问题.有没有办法告诉astype数据类型是16?IN: import pandas as pd df = pd.DataFrame(['1C8','0C3'], columns=['Command0']) df['Command0'].astype(int) OUT: ValueError: invalid literal for int() with base10: '1C8'这有效,但希望避免行迭代.for index, row in df.iterrows():print(row['...

python – 字节数组到十六进制字符串【代码】

我有数据存储在一个字节数组中.如何将此数据转换为十六进制字符串? 我的字节数组示例:array_alpha = [ 133, 53, 234, 241 ]解决方法:使用str.format:>>> array_alpha = [ 133, 53, 234, 241 ] >>> print ''.join('{:02x}'.format(x) for x in array_alpha) 8535eaf1或使用format>>> print ''.join(format(x, '02x') for x in array_alpha) 8535eaf1Note: In the format statements, the 02 means it will pad with up to 2 lead...

python – 我试图只打印一定数量的Pi,它返回错误“十进制没有属性:__ getitem__【代码】

def pi():prompt=">>> "print "\nWARNING: Pi may take some time to be calculated and may not always be correct beyond 100 digits."print "\nShow Pi to what digit?"n=raw_input(prompt)from decimal import Decimal, localcontextwith localcontext() as ctx:ctx.prec = 10000pi = Decimal(0) for k in range(350): pi += (Decimal(4)/(Decimal(8)*k+1) - Decimal(2)/(Decimal(8)*k+4) - Decimal(1)/(Decimal(8)*k+5) - Dec...