是否有可能让六个模块的导入在pycharm中工作?我意识到该模块会使用导入混淆pycharm但是希望有某种类型的解决方法.
例如,我希望以下内容在pycharm或intellij中正常工作::
from six.moves import BaseHTTPServer
Run Code Online (Sandbox Code Playgroud) 写入临时文件的数据是否会影响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)