Python:循环遍历所有参数选项

时间:2018-05-09 19:23:40

标签: python loops parameters

我编写了一个代码,该代码在某些文件名,位置等中使用参数(简化如下):

file_type = sys.argv[1]
[...]
parent_folder = 'C:/path/to/dir/'
input_folder = parent_folder + file_type + '_inventory'
output_folder = parent_folder + file_type + '_export'

因此,参数file_type可以是FOOBARFOOBAR,这将决定使用哪个目录/文件。但是,我一直在努力寻找一种更健壮的方法将ALL合并到这个参数中。

目前,我有IF ELSE个语句,其中一个选项将我的脚本多次复制,每个参数选择都是硬编码的;当file_type = ALL时。应该有一种方法让它循环遍历一组值/字符串而不是复制代码,但我无法找到它的任何相似之处。

如果我需要详细说明,请告诉我。

1 个答案:

答案 0 :(得分:1)

一种方法是始终遍历整个程序,每种文件类型一次。如果指定了单个文件类型,则只需循环该类型,但如果指定了all,则循环遍历所有类型。

例如,我们可以创建仅[sys.argv[1]]的单元素列表,除非它是ALL

file_types = [sys.argv[1]] if sys.argv[1] != 'ALL' else ['FOO', 'BAR', 'FOOBAR']
for file_type in file_types:
    [...]
    parent_folder = 'C:/path/to/dir/'
    input_folder = parent_folder + file_type + '_inventory'
    output_folder = parent_folder + file_type + '_export'