字符串中的通配符作为输入
Wildcard in string as input
我有一个变量,它是流程的输入。它本质上是一个文件的完整路径名,但是根据列表注入一个值以获得正确的名称:
fipsList = ['06001','06037','06059']
for fip in fipsList:
file = r"T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_{}_20180518.gdb".format(fip)"
我现在要做的是让"...NFHL_{}_
和....gdb"
之间的所有内容成为通配符“*”。只需使用 file = r"T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_{}_*.gdb".format(fip)"
似乎不起作用。本质上,这就是产生的结果:
>>>'T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_06_*.gdb'
。关于如何让它工作的建议?
也许是一些古老的好连接?
喜欢:
fipsList = ['06001','06037','06059']
for fip in fipsList:
file = "T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_{}_" + fip + ".gdb"
以这种方式简单地将“*”添加到字符串中是行不通的。问题的设置很差(我自己的错),但为了澄清起见,这是我解决问题的方法:
fipsList = ['06001','06037','06059']
for fip in fipsList:
path = r"T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018"
for root, dirs, filename in os.walk(path):
for dir in dirs:
if('NFHL_' + fip[:2] in dir and '.gdb' in dir):
file = os.path.join(root, dir)
基本上,我必须遍历文件夹并使用 if
条件来确保同时满足 fip
值和 .gdb
扩展名的条件。
我有一个变量,它是流程的输入。它本质上是一个文件的完整路径名,但是根据列表注入一个值以获得正确的名称:
fipsList = ['06001','06037','06059']
for fip in fipsList:
file = r"T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_{}_20180518.gdb".format(fip)"
我现在要做的是让"...NFHL_{}_
和....gdb"
之间的所有内容成为通配符“*”。只需使用 file = r"T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_{}_*.gdb".format(fip)"
似乎不起作用。本质上,这就是产生的结果:
>>>'T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_06_*.gdb'
。关于如何让它工作的建议?
也许是一些古老的好连接?
喜欢:
fipsList = ['06001','06037','06059']
for fip in fipsList:
file = "T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018\NFHL_{}_" + fip + ".gdb"
以这种方式简单地将“*”添加到字符串中是行不通的。问题的设置很差(我自己的错),但为了澄清起见,这是我解决问题的方法:
fipsList = ['06001','06037','06059']
for fip in fipsList:
path = r"T:\CCSI\TECH\FEMA\Datasets\NFHL\NFHL_06122018"
for root, dirs, filename in os.walk(path):
for dir in dirs:
if('NFHL_' + fip[:2] in dir and '.gdb' in dir):
file = os.path.join(root, dir)
基本上,我必须遍历文件夹并使用 if
条件来确保同时满足 fip
值和 .gdb
扩展名的条件。