python - Python:循环遍历所有参数选项
问题描述
我编写了一个代码,它在某些文件名、位置等中使用参数(简化如下):
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
可以是FOO
, BAR
, 或FOOBAR
, 这将决定使用哪些目录/文件。但是,我一直在尝试找到一种更强大的方法来合并ALL
到这个参数中。
目前,我有IF
ELSE
语句,其中一个选项将我的脚本复制多次,每个参数选择硬编码在其中;当file_type
= ALL
。应该有一种方法可以让它遍历一组值/字符串,而不是复制代码,但我无法找到它的任何相似之处。
如果我需要详细说明,请告诉我。
解决方案
一种方法是始终循环遍历整个程序,每种文件类型一次。如果指定了单个文件类型,则仅循环该类型,但如果all
指定了,则循环所有文件类型。
例如,我们可以创建一个 just 的单元素列表[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'
推荐阅读
- wpf - 在现有 WPF 项目中使用 DevExpress 控件
- r - 如何从点击流数据创建用户路径
- asp.net - 无法在 Edge 中使用 Asp.net Web API
- environment-variables - 如何将 Travis env 变量写入文件?
- matlab - 类文件夹不接受到 Matlab 的路径中
- c - 访问结构中的结构指针时出现分段错误
- javascript - 单击链接时将访问者重定向到登录或注册
- symfony - 我怎样才能让它在 Symfony 表单中工作时钟选择器?
- ios - 在 UIViewController 中注册 collectionView
- typescript - 是否可以在 package.json bin 中使用本地安装的 ts-node?