如何读取具有已定义字符串但后缀变量为python的文件路径或文件夹名

如何读取具有已定义字符串但后缀变量为python的文件路径或文件夹名,python,Python,我有一些保存模型信息的文件夹路径: C:\Users\Latitude User\OneDrive\Projects\xxxx\xxxx\xxxx\Predictions\V1_1234 C:\Users\Latitude User\OneDrive\Projects\xxxx\xxxx\xxxx\Predictions\V2_4567 C:\Users\Latitude User\OneDrive\Projects\xxxx\xxxx\xxxx\Predictions\V3_789 文件

我有一些保存模型信息的文件夹路径:

C:\Users\Latitude User\OneDrive\Projects\xxxx\xxxx\xxxx\Predictions\V1_1234

C:\Users\Latitude User\OneDrive\Projects\xxxx\xxxx\xxxx\Predictions\V2_4567

C:\Users\Latitude User\OneDrive\Projects\xxxx\xxxx\xxxx\Predictions\V3_789
文件夹末尾的数字实际上是模型的MAE编号,因此它们会不时更改。但是V1,V2,V3不会,这就是为什么我想在下面硬编码它们

我想调用这些文件夹,但忽略最后的
\u 1234
。我尝试添加*但它也抛出了一个错误:

path = r'C:\Users\Latitude User\OneDrive\Projects\xxxx\xxxx\xxxx\Predictions\\'

model1= 'V1'
model2= 'V2'


deploy1 = run_my_model('Model.csv', path + model1 + '*\\')
deploy2 = run_my_model('Model.csv', path + model2 + '*\\')
OSError:[Errno 22]无效参数:


关于如何编程调用已定义的名称,然后忽略数字,有什么想法吗?谢谢

你试过使用glob吗?Glob允许在文件/文件夹路径中使用通配符。也许这会有帮助。代码片段

import glob
for name in glob.glob('V1*/Model.csv'):
    print(name)
for name in glob.glob('V2*/Model.csv'):
    print(name)
如果您有文件夹V1_1234和V2_4567,则提供以下输出:

V1_1234/Model.csv
V2_4567/Model.csv

使用pythonthanks@bigbounty中的
glob
库。我该怎么做呢?你不能真的“忽略”路径的一部分。数量取决于型号吗?或者它始终是当前
V*
的最大数?然后你可以检查它或者将它与
V*
字符串一起设置。我基本上是打印模型的当前MAE分数(例如134),以便比较。因此,数字将在不同的时间发生变化。永远不会有两个相同的文件夹前缀,尽管它们是具有不同设置(V1、V2、V3等)的模型,函数
run\u my\u model()
会引发异常。但是你没有给我们展示函数中的代码。所以你要求我们想象一下写了什么,并建议如何修复它。太好了!仅供参考,我最终定义了
model1=glob.glob(path+'V1*)
,它为我提供了完整文件夹名称的字符串。谢谢很高兴我能帮忙。:)