小编kyl*_*215的帖子

获取六个和六个移动模块以在pycharm中自动完成

是否有可能让六个模块的导入在pycharm中工作?我意识到该模块会使用导入混淆pycharm但是希望有某种类型的解决方法.

例如,我希望以下内容在pycharm或intellij中正常工作::

from six.moves import BaseHTTPServer
Run Code Online (Sandbox Code Playgroud)

python ide intellij-idea pycharm six

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

AWS lambda内存使用与python代码中的临时文件

写入临时文件的数据是否会影响AWS lambda中的内存使用?在lambda函数中,我将文件流式传输到临时文件.在lambda日志中,我看到使用的最大内存大于下载的文件.奇怪的是,如果lambda被快速连续多次调用,则下载较小文件的调用仍会报告从下载较大文件的调用中使用的最大内存.我将并发限制设置为2.

当我在本地运行代码时,我的内存使用量大约为20MB.在lambda上它是180MB,大约是流式文件的大小.代码只是使用python请求库来传输文件下载,shutil.copyfileobj()写入tempfile.TemporaryFile(),然后通过管道传输给postgres"从stdin复制".

这使得/ tmp存储看起来像内存使用量,但没有发现任何提及.lambda文档中唯一提到的/ tmp是512mb的限制.

示例代码:

import sys
import json
import os
import io
import re
import traceback
import shutil
import tempfile

import boto3
import psycopg2
import requests


def handler(event, context):
    try:
        import_data(event["report_id"])
    except Exception as e:
        notify_failed(e, event)
        raise

def import_data(report_id):
    token = get_token()
    conn = psycopg2.connect(POSTGRES_DSN, connect_timeout=30)
    cur = conn.cursor()

    metadata = load_metadata(report_id, token)
    table = ensure_table(metadata, cur, REPLACE_TABLE)
    conn.commit()
    print(f"report {report_id}: downloading")
    with download_report(report_id, token) as f:
        print(f"report {report_id}: importing data")
        with conn, cur:
            cur.copy_expert(f"COPY {table} …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services aws-lambda

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