Использование переменной в более поздней части программы (python) - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь соединить два отдельных кода в одну программу.Мне нужно поместить одну строку из первой во вторую часть.

Первый:

import boto3

if __name__ == "__main__":

    bucket='BUCKET-NAME'
    collectionId='COLLECTION-ID'
    fileName='input.jpg'
    threshold = 70
    maxFaces=1

    client=boto3.client('rekognition')


    response=client.search_faces_by_image(CollectionId=collectionId,
                                Image={'S3Object':{'Bucket':bucket,'Name':fileName}},
                                FaceMatchThreshold=threshold,
                                MaxFaces=maxFaces)


    faceMatches=response['FaceMatches']
    for match in faceMatches:
            print (match['Face']['FaceId'])

Второй:

import boto3
from boto3.dynamodb.conditions import Key, Attr

dynamodb = boto3.resource('dynamodb')

table = dynamodb.Table('faces')

response = table.scan(
    FilterExpression=Attr('faceid').eq('FaceId')
)
items = response['Items']
print(items)

Мне нужно поставить идентификатор, показанный print (match['Face']['FaceId'])от первого кода до FaceId во втором коде.

Я пытался определить переменную и поместить в нее значение, а затем получить его позже, но не смог сделать это правильно

1 Ответ

0 голосов
/ 24 ноября 2018

Как правило, вы пишете свой первый блок кода в виде библиотеки / модуля с функцией, которая выполняет какую-то единицу работы и returns в результате.Тогда второй блок кода будет import первым и вызовет функцию.

# lib.py
def SomeFunction(inputs):
  output = doSomething(inputs)
  return output

# main.py
import lib
data = ...
result = lib.SomeFunction(data)
moreWork(result)

Если вы хотите, чтобы две отдельные программы работали независимо и обменивались данными, вам нужно Межпроцессное взаимодействие .Вы можете получить процессы для обмена информацией друг с другом через: файл / fifo в файловой системе;сетевой сокет;Общая память;и STDIO (и, вероятно, больше).Однако IPC определенно больше работает, чем синхронные библиотечные вызовы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...