在循环外使用列表将 url 字符串与一些列表值连接起来

use a list outside my loop to concatenate a url string with some list values

我从 sqs 队列中收到 3 条消息:mapper.py、reducer.py 和 test.txt ...我将每条消息存储在一个列表中。

我想在我的映射器、reducer 和输入变量(最后 3 行代码)中使用每条消息的内容。

但是在我的 while 循环之外,我有 print "Connecting to EMR" 我不知道如何将我的文件名列表用于我想要的目的。

你有什么解决办法吗?

在我的 print item 内部 for 循环中,它仅显示 filenames_list 的第一个元素。

conn = SQSConnection()
myqueue = conn.get_queue('myQueue')
while myqueue.count() != 0:
    filenames_list = list()
    message = myqueue.read()

    myqueue.delete_message(message)
    filename = message.get_body()

    filenames_list.append(filename)


for item in files_list: 
    print item

print "Connecting to EMR"
conn = boto.emr.connect_to_region('us-east-1')
print "Creating Streaming step"
step = StreamingStep(name='Example1',

# after myFolder/ I want to put here the content of my list relative to test.txt

mapper="s3n://myFolder/HereIWantToPutTheListContentRelatedToMapper.py",  

# after myFolder/ I want to put here the content of my list relative to reducer.py

reducer="s3n://myFolder/HereIWantToPutTheListContentRelatedToReducer.py",   

# after myFolder/ I want to put here the content of my list relative to mapper.py 
input='s3n://myFolder/HereIWantToPutTheListContentRelatedToTest.txt',  

output='s3n://myFolder/output/wordcount_output')

您在 while_loop 的每次迭代开始时将 files_list 初始化为一个空列表,因此您可能希望在列表外部初始化它并在每次迭代时附加到它while 循环?