小编Ale*_*Mal的帖子

Python从或从中返回生成器?

我写了这段简单的代码:

def mymap(func, *seq):
  return (func(*args) for args in zip(*seq))
Run Code Online (Sandbox Code Playgroud)

现在我有一个疑问,最好使用上面的'return'语句返回一个生成器或使用'yield from'指令,如下所示:

def mymap(func, *seq):
  yield from (func(*args) for args in zip(*seq))
Run Code Online (Sandbox Code Playgroud)

超出"回报"和"收益率"之间的技术差异,这是一般情况下更好的方法吗?

python return function generator

21
推荐指数
2
解决办法
4229
查看次数

来自AWS API Gateway的格式错误的Lambda代理响应调用Lambda

在我的项目中,我创建了一个py函数来检查和修改我的谷歌日历,如下所示:

def main(event, context):

    ck_app = check(event['calID'], event['datada'], event['dataa'])

    if not ck_app: insert(event['calID'], event['datada'], event['dataa'], event['email'])

    return {
        "isBase64Encoded": False,
        "statusCode": '200',
        "headers": {},
        "body": {'input': event,
                 'busy': ck_app,
                 'guest_email': event['email']}   
    }
Run Code Online (Sandbox Code Playgroud)

当我在我的lambda上测试它时都完成了,但是当我从lambda创建一个API时:

在此输入图像描述

并测试结果是:

Wed Dec 20 13:35:58 UTC 2017:由于配置错误导致执行失败:格式错误的Lambda代理响应Wed Dec 20 13:35:58 UTC 2017:方法已完成,状态:502

提前致谢

python amazon-web-services aws-lambda aws-api-gateway

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

扫描目录以查找c中的文件

我正在尝试在c中创建一个函数,它扫描我的所有路径C:\ temp(Windows)以搜索我传递的文件(例如test.txt),并且每次找到一个返回路径以执行另一个函数在这个文件的底部写一些东西.我设法做了写入文件的功能,但无法弄清楚如何扫描文件夹并传递找到的文件的地址.

c directory find

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

Python用lambda函数封闭范围变量

我写了这个简单的代码:

def makelist():
  L = []
  for i in range(5):
    L.append(lambda x: i**x)
  return L
Run Code Online (Sandbox Code Playgroud)

好的,现在我打电话

mylist = makelist()
Run Code Online (Sandbox Code Playgroud)

因为在稍后调用嵌套函数时会查找封闭范围变量,所以它们都有效地记住了相同的值:因此,我希望找到循环变量在最后一次循环迭代中的值,但是当我检查我的列表时我懂了:

>>> mylist[0](0)
1
>>> mylist[0](1)
4
>>> mylist[0](2)
16
>>> 
Run Code Online (Sandbox Code Playgroud)

我很困惑,为什么我的代码没有保留最后一个 for 循环值?为什么我不必显式保留带有默认参数的封闭范围值,如下所示:

L.append(lambda x, i=i: i ** x)
Run Code Online (Sandbox Code Playgroud)

提前致谢

python lambda for-loop list

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

为什么Java的Optional不会在ifPresent()中调用Consumer?

public class TestSupplier {

Optional<Integer> opt1;

public static void main(String[] args) {
    // TODO Auto-generated method stub

    TestSupplier ts1 = new TestSupplier();

    ts1.opt1 = ts1.average(100,20,30,80);
    Consumer<Integer> cns1 = (x) -> x += 3;
    ts1.opt1.ifPresent(cns1);
    System.out.println(ts1.opt1.get());

}


private Optional<Integer> average(int... n1) {
    if (n1.length == 0) return Optional.empty();
    int sum = 0;
    for(int score: n1) sum += score; 
    return Optional.of(sum/n1.length);

}

}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,结果为57(这是100,20,30,80平均值的正确结果)但是我创建了一个消费者,它应该将结果增加3 ...但它似乎不起作用.

有人能帮我吗?

java lambda optional consumer java-8

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

iPhone无法运行CPU频率

我正在尝试创建一个返回IOS设备处理器频率的函数.我使用的代码总是返回零.我哪里错了?

-(void) printProcessorInfo 
{
    size_t length;
    int mib[6]; 
    int result;

    printf("Processor Info\n");
    printf("--------------\n");

    mib[0] = CTL_HW;
    mib[1] = HW_CPU_FREQ;
    length = sizeof(result);
    if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
    {
        perror("getting cpu frequency");
    }
    printf("CPU Frequency = %d hz\n", result);

    mib[0] = CTL_HW;
    mib[1] = HW_BUS_FREQ;
    length = sizeof(result);
    if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
    {
        perror("getting bus frequency");
    }
    printf("Bus Frequency = %d hz\n", result);
    printf("\n");
}
Run Code Online (Sandbox Code Playgroud)

谢谢

iphone system objective-c ios

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

ios设备名称列表

我在我的应用程序中使用此功能返回我的设备的型号名称并且工作得很好,但我如何找到此功能的返回值的完整列表(es为iphone3,3gs,4s,ipad,ipad2,ipod ecc ecc

size_t size;  
sysctlbyname("hw.machine", NULL, &size, NULL, 0);  
char *machine = malloc(size);  
sysctlbyname("hw.machine", machine, &size, NULL, 0);  
NSString *platform = [NSString stringWithCString:machine];  
free(machine);  
return platform; 
Run Code Online (Sandbox Code Playgroud)

谢谢

iphone device hardware-id ipad

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

UIButton用手指固定长按

在我的项目中,我需要使用UIButton(或其他组件)来使用长按来处理事件.让我解释一下,我应该记住,我按下按钮一个计时器来计算秒数并释放到压力停止,我尝试使用UILongPressGestureRecognizer的管理,但事实并非如此,因为我回想起按钮被按下时的事件但是只有当我移动我的手指时,我希望计时器消失并按下按钮的所有时间(手指静止),并在手指松开时停止计数.

有谁知道如何帮助我?谢谢

iphone xcode uibutton pressure

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

Python从带有boto3错误的代码中调用我的AWS Lambda

在我的项目中,我必须创建一个调用lambda函数的py,以传递身体参数,我编写以下代码:

import boto3
import json
import base64

client = boto3.client(‘lambda’)
d = {'calID': '92dqiss5bg87etcqeeamlmob2g@group.calendar.google.com', 'datada': '2017-12-22T16:40:00+01:00', 'dataa': '2017-12-22T17:55:00+01:00', 'email': 'example@hotmail.com'}
s = json.dump(d)
s64 = base64.b64encode(s.encode('utf-8'))

response = client.invoke(
    FunctionName='arn:aws:lambda:eu-west-1:13737373737:function:test',
    InvocationType='RequestResponse',
    LogType='None',
    ClientContext='None',
    Payload=s64
)
Run Code Online (Sandbox Code Playgroud)

但是在响应运行时会生成此错误:

发生错误(InvalidRequestContentException)调用调用操作时:InvalidRequestContentException无法解析请求主体为JSON:无法识别的记号“eyJjYWxJRCI6ICI5MmRxaXNzNWJnODdldGNxZWVhbWxtb2IyZ0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29tIiwgImRhdGFkYSI6ICIyMDE3LTEyLTIyVDE2OjQwOjAwKzAxOjAwIiwgImRhdGFhIjogIjIwMTctMTItMjJUMTc6NTU6MDArMDE6MDAiLCAiZW1haWwiOiAibHVjYV9ncmV6eml4eEBob3RtYWlsLmNvbSJ9”:期待在[来源(“真”,“假”或“空”):[B @ 4587098d;行:1,列:481]

这是什么意思?

提前谢谢了

python json amazon-web-services boto3 aws-lambda

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

AWS lambda AccessDeniedException调用另一个lambda函数

在我的项目中,我在python代码中创建一个lambda函数,在一个方法中必须使用boto3调用另一个lambda函数.在我的主lambda中,我创建这样的客户端:

client = boto3.client('lambda')
Run Code Online (Sandbox Code Playgroud)

然后我以这种方式调用我的方法:

response = client.invoke(
            FunctionName='arn:aws:lambda:eu-west-1:1577:function:test',
            InvocationType='RequestResponse',
            LogType='None',
            Payload=json.dumps(d)
            )
Run Code Online (Sandbox Code Playgroud)

但是当我测试我的主lambda控制台时返回此错误:

调用Invoke操作时发生错误(AccessDeniedException):User

我尝试在我的环境变量中设置AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,但是当我尝试保存时,返回此错误:

Lambda无法配置您的环境变量,因为您提供的环境变量包含当前不支持修改的保留键.此请求中使用的保留密钥:AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY

如何使用IAM用户在lambda中设置呼叫?

提前致谢

python amazon-web-services amazon-iam boto3 aws-lambda

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

Django 在管理面板中自动填充作者字段

在我的 django 项目中,我有一个 model.py ,其中包含如下类:

class temp_main(models.Model):
    descr = models.CharField(max_length=200, verbose_name="Description")
    notes = models.TextField(null=True, blank=True, verbose_name="Note")
    dt = models.DateTimeField(auto_now=True)
    #Fields for API permissions
    owner = models.ForeignKey('auth.User', related_name='tmain_owner', on_delete=models.CASCADE, verbose_name="API Owner")

    class Meta:
       verbose_name = '1-Main Template'
       verbose_name_plural = '1-Main Templates'

    def __str__(self):
        return self.descr
Run Code Online (Sandbox Code Playgroud)

我希望在我的管理面板中,所有者字段会自动填充当前登录用户。在我的 admin.py 中我写道:

admin.site.register(temp_main, )
Run Code Online (Sandbox Code Playgroud)

如何使用登录用户设置我的所有者字段?

提前致谢

python django django-models

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

Python 创建 SDK 而不是 API

我有一个用 python/django 开发的项目,我使用 POST GET 和其他调用创建 API 接口,以便向我的客户公开数据库的视图,全部完成。

现在我想知道为我的程序创建真正的 SDK 的最佳方法是什么,我的意思是我的客户可以使用特定的调用使我的环境执行某些操作并从他们的代码返回结果。是否有一些工具,例如适用于 API 的 Django REST 框架,也适用于 SDK?

提前致谢

python sdk django-rest-framework

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