我正在尝试将两个单独的代码连接到一个程序中。我需要从第一部分到第二部分放入一个字符串。
第一:
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'])
所示的ID放入第二个代码中的FaceId
。
我试图定义一个变量并将其值放入其中,然后稍后再获取它,但我做不到正确的
答案 0 :(得分:2)
通常,您将第一个代码块编写为具有执行某些工作单元并returns
结果的函数的库/模块。然后,第二个代码块将import
第一个代码块并调用该函数。
# lib.py
def SomeFunction(inputs):
output = doSomething(inputs)
return output
# main.py
import lib
data = ...
result = lib.SomeFunction(data)
moreWork(result)
如果您想要两个独立运行并共享数据的程序,则需要Inter-process communication。您可以通过以下方式使进程彼此共享信息:文件系统中的文件/ FIFO;网络插座;共享内存;和STDIO(可能还有更多)。但是,IPC肯定比同步库调用还要工作。