小编moz*_*ami的帖子

获取map()以返回Python 3.x中的列表

我正在尝试将列表映射到十六进制,然后在其他地方使用列表.在python 2.6中,这很简单:

答: Python 2.6:

>>> map(chr, [66, 53, 0, 94])
['B', '5', '\x00', '^']
Run Code Online (Sandbox Code Playgroud)

但是,在Python 3.1中,上面返回了一个map对象.

B: Python 3.1:

>>> map(chr, [66, 53, 0, 94])
<map object at 0x00AF5570>
Run Code Online (Sandbox Code Playgroud)

如何在Python 3.x上检索映射列表(如上面的A中所示)?

或者,有更好的方法吗?我的初始列表对象有大约45个项目,id喜欢将它们转换为十六进制.

python list python-3.x map-function

480
推荐指数
5
解决办法
37万
查看次数

使用Phing从存储库中获取最新的Git标记

我是初学者并且需要构建一个脚本来自动化一些构建任务.

有没有办法只检索最近添加的标签到git仓库?我可以提取所有标签的列表,但似乎无法将其过滤到最新的标签.

这是获取我的git标签的相关代码:

    <gittag 
        repository="${repo.dir.resolved}" 
        list="true" 
        outputProperty="versionTag" 
        pattern="v*" />
Run Code Online (Sandbox Code Playgroud)

上面的输出结果是一个标签列表(前缀为"v"):

[gittag] git-tag output: v1.0.0
v1.0.1
v1.0.2
Run Code Online (Sandbox Code Playgroud)

关于如何将其归结为v1.0.2的任何想法?

git phing build

7
推荐指数
1
解决办法
1274
查看次数

Python sendto()不适用于3.1(适用于2.6)

出于某种原因,以下似乎在我运行python 2.6的ubuntu机器上运行完美,并在运行python 3.1的windows xp框中返回错误

from socket import socket, AF_INET, SOCK_DGRAM
data = 'UDP Test Data'
port = 12345
hostname = '192.168.0.1'
udp = socket(AF_INET,SOCK_DGRAM)
udp.sendto(data, (hostname, port))
Run Code Online (Sandbox Code Playgroud)

下面是python 3.1抛出的错误:

Traceback (most recent call last):
  File "sendto.py", line 6, in <module>
    udp.sendto(data, (hostname, port))
TypeError: sendto() takes exactly 3 arguments (2 given)
Run Code Online (Sandbox Code Playgroud)

我查阅了python 3.1的文档,sendto()只需要两个参数.关于可能导致这种情况的任何想法?

python windows ubuntu udp sendto

4
推荐指数
1
解决办法
5255
查看次数

在python中将整数列表转换为二进制"字符串"

我有一个数字列表,我想作为二进制数据发送到套接字连接.

举个例子,我从以下列表开始:

data = [2,25,0,0,ALPHA,0,23,18,188]
Run Code Online (Sandbox Code Playgroud)

在上面的列表中,ALPHA可以是介于1和999之间的任何值.最初,我将其转换为使用的字符串

 hexdata = ''.join([chr(item) for item in data])
Run Code Online (Sandbox Code Playgroud)

因此,如果ALPHA为101,则返回以下字符串:

>>> data = [2,25,0,0,101,0,23,18,188]
>>> hexdata = ''.join([chr(item) for item in data])
>>> hexdata
'\x02\x19\x00\x00e\x00\x17\x12\xbc'
Run Code Online (Sandbox Code Playgroud)

这很好用,'\ x02\x19\x00\x00e\x00\x17\x12\xbc'是我需要发送的字符串.

但是,这对于超过255的ALPHA值不起作用,因为它超出了chr语句的范围.如果例如ALPHA是999,那么我想得到以下字符串:

data = [2,25,0,0,999,0,23,18,188]
hexdata = '\x02\x19\x00\x03\xed\x00\x17\x12\xbc'
Run Code Online (Sandbox Code Playgroud)

我一直在查看struct.pack()上的文档,但看不出如何用它来实现上面的字符串.ALPHA是列表中唯一的变量.

任何帮助将不胜感激.

编辑1

你想要什么行为?256到65535之间的任何内容都需要2个字节来表示.你想在另一边打开它吗?请用你的意图更新帖子. - gahooa 1分钟前

多数民众赞成正确,因为999超过256门槛,它由两个字节表示:

data = [2,25,0,0,999,0,23,18,188]

hexdata = '\x02\x19\x00**\x03\xed**\x00\x17\x12\xbc'
Run Code Online (Sandbox Code Playgroud)

这有意义吗?

就解包而言,我只是将这些数据发送到套接字上,我将接收数据但已经处理好了.

编辑2

我发出的字符串总是固定长度.为简单起见,我认为最好将列表表示如下:

ALPHA = 101

data = [25,alpha1,alpha2,1]
hexdata = '\x19\x00e\x01'


ALPHA = 301

data = [25,alpha1,alpha2,1]
hexdata = 'x19\x01\x2d\x01'
Run Code Online (Sandbox Code Playgroud)

正如您在hexdata字符串中看到的那样,然后变为:\ x01\x2d \

如果ALPHA …

python string binary list

4
推荐指数
2
解决办法
2万
查看次数

使用变量导入LESS CSS文件

我有2个名为core.less和style.less的LESS CSS文件

core.less位于:\ css\core.less下,其内容如下:

body {
    background: @bg_color;
    color: @font_color;
}
Run Code Online (Sandbox Code Playgroud)

style.less位于:\ css\green\style.less下,其内容如下:

@bg_color: #0F0;
@font_color: #FFF;
@import "../../core.less";
Run Code Online (Sandbox Code Playgroud)

core.less文件包含所有CSS规则,在更短的格式,但不提供对变量的定义.

style.less定义core.less引用的所有变量,然后导入core.less文件.

编译样式没有问题.因为它从核心文件导入所有规则.core.less文件无法编译 - 它将生成错误,因为它不包含变量定义.

我现在也想编译core.css文件(只是为了确保我的LESS规则中没有错误).有没有办法在core.less文件中添加某种虚拟/占位符变量,这样它也可以编译而不会产生错误,仍然可以使用我上面解释过的设置?

我对改变文件格式/结构的建议持开放态度.

css less

1
推荐指数
1
解决办法
5570
查看次数

Python脚本性能作为后台进程

我正在编写一个python脚本,充当应用程序和一些外部设备之间的"粘合剂".脚本本身很简单,有三个不同的过程:

  1. 请求数据(来自套接字连接,通过UDP)
  2. 接收响应(来自套接字连接,通过UDP)
  3. 处理响应并将数据提供给第三方应用程序

但是,这将重复进行,并且对于几个(+/- 200个不同的)设备.因此,一旦它到达设备#200,它将再次开始从设备#001请求数据.我主要担心的是在执行脚本时不要让处理器陷入困境.

更新:我使用三个线程来执行上述操作,每个上述进程使用一个线程.请求/响应是异步的,因为每个响应都包含我需要处理它的所有内容(包括发件人详细信息).

有没有办法允许脚本在后台运行并尽可能少地消耗系统资源?这将在Windows 2003机器上运行.

任何意见,将不胜感激.

python performance background process

0
推荐指数
1
解决办法
671
查看次数