小编ste*_*eha的帖子

如何修剪Python中的列表

假设我有一个包含X元素的列表

[4,76,2,8,6,4,3,7,2,1...]
Run Code Online (Sandbox Code Playgroud)

我想要前5个元素.除非它少于5个元素.

[4,76,2,8,6]
Run Code Online (Sandbox Code Playgroud)

怎么做?

python list

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

Windows中低级音频的最佳API?

我正在研究用C语言编写的音频应用程序.我需要在Windows下提供实时音频播放.我需要决定使用哪个音频API.我打算使用基本的waveOut API,但我想查看社区推荐的内容.

我希望代码能够在任何最新版本的Windows上运行,而无需安装库; 我想要最小的延迟.

我不需要或不需要任何"效果",我只需要忠实地播放应用程序生成的任何波形样本.

我的理解是,Windows上的大多数专业音频应用程序都使用ASIO,这提供了出色的低延迟,但我不想要ASIO,因为我希望我的代码能够正常工作,大多数人都没有在他们的计算机上预安装ASIO .(稍后我可以回过头来添加ASIO作为选项,但我会先找到最通用的解决方案.)

那里有什么东西比waveOut更适合我的目的,还是最好的选择呢?

c windows audio audio-streaming

16
推荐指数
3
解决办法
1万
查看次数

ndk-gdb失败并显示消息:无效的属性名称:package

将Nexus One连接到运行Snow Leopard的Mac.从Eclipse运行"debug".显示执行

/usr/local/android-ndk-r5b/ndk-build NDK_DEBUG=1 
Run Code Online (Sandbox Code Playgroud)

负载Nexus One就好了.然后我尝试运行调试器,以便进入JNI层:

$ $NDK_DIR/ndk-gdb 
Run Code Online (Sandbox Code Playgroud)

失败了这些消息:

Invalid attribute name: 
          package
Invalid attribute name: 
          package
Invalid attribute name: 
          package
ERROR: Non-debuggable application installed on the target device.
       Please re-install the debuggable version!
Run Code Online (Sandbox Code Playgroud)

所以我检查了bin中的apk,它有

lib/armeabi/gdbserver
Run Code Online (Sandbox Code Playgroud)

看一下ndk-dbg脚本,这条消息意味着它没有尝试在手机上找到gdbserver.所以我试着手工做一些ls命令:

$ adb shell ls /data
opendir failed, Permission denied
Run Code Online (Sandbox Code Playgroud)

所以我看了/ data,权限是771.

到目前为止,我做错了什么?

macos gdb android-ndk

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

在Python中是否存在`和`和/或`或`的内置函数版本?

这个问题很有趣; 我不认为答案是有用的.

当我看到人们reduce()在Python中做事时,他们经常利用Python中的内置函数,通常来自operator模块.

这有效:

result = reduce(lambda a, b: a + b, range(5))
Run Code Online (Sandbox Code Playgroud)

但通常你会看到这个:

from operator import add
result = reduce(add, range(5))
Run Code Online (Sandbox Code Playgroud)

对我来说很奇怪的是operator模块似乎没有逻辑功能and.它有点按位,但不符合逻辑and.

所以假设你这样做:

result = reduce(lambda a, b: a and b, range(1, 6))
Run Code Online (Sandbox Code Playgroud)

是否有可以在这里使用的内置函数?

我也想知道是否有可以替换的内置函数or.

如果你首先将参数映射到布尔值,你可以使用bitwise和from operator,或者直接使用bool.__and__,如下所示:

from operator import and_
result = reduce(and_, map(bool, range(1, 6)))
result = reduce(bool.__and__, map(bool, range(1, 6)))
Run Code Online (Sandbox Code Playgroud)

并且同样用于operator.or_()bool.__or__用于or操作.但我正在寻找一个不需要映射到布尔值的值的函数.

如果您确定您的值都是整数,则可以使用operator.mul …

python

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

如何在Python中并行地干净地循环两个文件

我经常写代码如下:

lines = open('wordprob.txt','r').readlines()
words = open('StdWord.txt','r').readlines()
i = 0
for line in lines:
    v = [eval(s) for s in line.split()]
    if v[0] > v[1]:
        print words[i].strip(),
    i += 1
Run Code Online (Sandbox Code Playgroud)

是否可以避免使用变量i并缩短程序?

谢谢.

python

10
推荐指数
3
解决办法
1万
查看次数

Eclipse project.properties反斜杠路径被认为是有害的

我正在开发一个正在开发Android软件的团队.一些团队成员使用Windows,一些人使用Mac,我知道使用Linux.每个人都使用Eclipse.

Eclipse写了一个名为的文件project.properties; 这是一个例子.最重要的部分是最后三行,即android库引用路径.

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): …
Run Code Online (Sandbox Code Playgroud)

eclipse mercurial path backslash

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

有没有办法让Android WIFI(机器人手机)进入混杂的监控模式?

对于几年前的计算机科学信息战类,我编写了一个python脚本,运行libpcap混杂数据包捕获文件来解析Facebook聊天流量(以明文形式传递的earlang元组),并认为一个有趣的项目是移植程序到Android.

我想用Java重写它,但无法直接在手机上找到有关数据包捕获的任何信息.

wireless android tcpdump libpcap

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

枚举Appium的Selenium Python绑定中的所有元素

我正在尝试开始使用Appium来测试我公司的移动应用程序.我希望使用Python绑定来编写脚本,我需要从Android应用程序开始.

我有Appium的例子都在工作.我可以运行grunt android并且测试工作,我可以运行android.py示例应用程序.

但我是一个全新的人,我没有清楚地了解如何识别我公司应用程序中的控件.我对Python很有经验,所以我想我只需构建一个控制元素列表并对它们进行内省.

我被卡住了!所有方法driver.find_elements_by_tag_name()都需要一个特定的标识符(或者至少我没有找到任何有效的通配符).

我如何反省代表被测Android应用程序的元素的Appium树?如何枚举所有元素以便我可以反省它们?是否有一棵树我可以走路找到应用程序中的所有元素?

我希望我能够找出这些元素,而无需获取应用程序的源代码,在Eclipse中构建应用程序等,但我可以在必要时执行此操作.

PS我更喜欢使用Python,但如果效果更好,可以使用其他内容进行内省.我仍然可以在Python中编写实际的测试,除非另一种语言在某种程度上明显更好.

python selenium android appium

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

在指针和指向函数的指针之间进行类型转换时发出警告

我正在将一些C代码移植到TI DSP芯片环境中.我正在努力解决C编译器问题.

我有一个包含指向函数的指针的数据结构.我有一个初始化数据结构的函数.像这样的东西:

typedef void (*PFN_FOO)(int x, int y);

struct my_struct
{
    PFN_FOO pfn;
};

init_struct(struct my_struct *p, void *pfn)
{
    p->pfn = (PFN_FOO)pfn;
}
Run Code Online (Sandbox Code Playgroud)

在Visual Studio和GCC下,这种代码无需投诉即可编译.事实上,因为pfn论证是类型void *我不需要在那里投一个演员; 它会毫无怨言地隐含地施放.

在用于TI DSP芯片的Code Composer Studio中,我收到"警告:无效类型转换"

我的策略是让我的代码在没有警告的情况下编译,所以我想解决这个问题.我尝试了各种各样的铸造.我发现编译器非常高兴,如果我将void *指针指向intfirst,然后将其转换为正确的类型.哎呀!

如果没有编译器抱怨,我怎么能这样做?我是否真的必须转向int关闭编译器?

注意:我特别没有找到"改变init_struct()接受PFN_FOO而不是"的效果的解决方案void *.这适用于这个简化的代码片段,但不适用于实际代码,它构建了可能异构的东西列表.

c casting ti-dsp

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

OpenSSL RSA签名验证:哈希和填充?

我正在尝试编写代码来验证一些RSA签名.签名是使用OpenSSL命令行工具制作的,使用此命令行的等效命令:

openssl dgst -sha1 -sign private_key_file.pem < binary_data_file > sig
Run Code Online (Sandbox Code Playgroud)

我想用来libtomcrypt做验证:

http://www.libtom.org/

以下是RSA验证函数的调用签名libtomcrypt:

int rsa_verify_hash_ex(
    const unsigned char *sig, unsigned long siglen,  // signature to verify
    const unsigned char *hash, unsigned long hashlen,  // hash value to check against sig
    int padding,  // defined constant value, see below
    int hash_idx,  // identifies which hash algorithm, see below
    unsigned long saltlen,  // specify salt length, see below
    int *stat,  // output parameter, returns whether verify succeeded or …
Run Code Online (Sandbox Code Playgroud)

c openssl rsa libtomcrypt

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