我正在使用pyDrive获取特定文件夹ID中所有文件的列表。如果我硬编码文件夹ID,它工作正常,但我想使用循环,并循环文件夹ID的列表。可能只是因为我没有正确地将变量格式化为命令。
这很好....
file_list = drive.ListFile({'q': "'0B1fhQb9wymxEUUFGVXpfYlJhTk0' in parents and trashed=false"}).GetList()
但是,如果我将该语句放入for循环以循环访问文件夹ID列表,则它不起作用。 '0B1fhQb9wymxEUUFGVXpfYlJhTk0'是我需要在for循环中换出变量的部分。
我尝试了各种for循环,我可以在网上找到一个例子,并用各种方式替换循环变量。甚至尝试将命令的前半部分放在一个字符串中,将后半部分放在另一个字符串中,然后“first + x + last”,但这也不起作用。
for x in listofpersonfolders:
file_list = drive.ListFile({'q': "\'x\' in parents and trashed=false"}).GetList()
print file_list
并尝试了
for x in listofpersonfolders:
file_list = drive.ListFile({'q': "'x' in parents and trashed=false"}).GetList()
print file_list
答案 0 :(得分:0)
试试这个:
# Define string with placeholder for parent id.
request_template = "'{parent_id}' in parents and trashed=false"
for x in listofpersonfolders:
# Replace the placeholder for parent_id with x in each iteration.
file_list = drive.ListFile({'q': request_template.format(parent_id=x)}).GetList()
print file_list
您可以查看此网站,了解有关字符串格式的更多信息:https://pyformat.info/
答案 1 :(得分:0)
这是一个解决方案
for x in listofpersonfolders:
file_list = drive.ListFile({'q': "'{}' in parents and trashed=false".format(x)}).GetList()
print file_list