繁体   English   中英

使用pydrive在循环中使用包含文件夹id的变量列出文件

[英]Use pydrive to list files using a variable holding the folder id's, in a loop

我正在使用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

尝试这个:

# 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/

这是一个解决方案

for x in listofpersonfolders:
    file_list = drive.ListFile({'q': "'{}' in parents and trashed=false".format(x)}).GetList()
print file_list

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM