1

我有一个用于在 winamp 中设置音量的 python 函数,它似乎只接受一个字节作为它的音量控制参数。当我尝试向它传递一个字符串类型编号时,它会将音量设置为看起来非常奇怪的值。我认为这是因为它不是传递一个字节,而是读取它传递的整数的大端字节。

我的问题是,如何确保字符串类型编号在发送之前仅转换为范围 (0 - 255) 内的单个无符号字节?

if "volume" in message.lower():
    if (len(wordList) > 4):
        xcomPrint("Usage : \\winamp volume (0 to 100)")
    elif (Arg1.isdigit()):
        winampInstance.setVolume(Arg1)
        xcomPrint("Volume set to " + str(Arg1))
    else:
        xcomPrint("Incorrect Arguments")
        xcomPrint("Usage : \\winamp volume (0 to 100)")

本质上,我需要将 Arg1 转换为单个字节。(我认为)

4

2 回答 2

0

没关系,

实际上将其从 string 转换为 int 可以使用:

int(Arg1)

完整代码:

if "volume" in message.lower():
    if (len(wordList) > 4):
        xcomPrint("Usage : \\winamp volume (0 to 100)")
    elif (Arg1.isdigit()):
        winampInstance.setVolume(int(Arg1))
        xcomPrint("Volume set to " + str(Arg1))
    else:
        xcomPrint("Incorrect Arguments")
        xcomPrint("Usage : \\winamp volume (0 to 100)")
于 2013-03-29T04:58:14.597 回答
0

您可以尝试使用结构

import struct
Arg1 = struct.pack('B', 255)
于 2013-03-29T05:08:24.990 回答