【发布时间】:2021-04-01 00:23:45
【问题描述】:
我正在尝试使用文件扩展名字典来调用正确的方法来转换文件,但字典一直调用第一个键而不是正确的键。这是字典:
def convertirV2(fichier):
print(Path(fichier).suffix)
choices = {
".docx": conver_docs(fichier),
".pdf": conver_pdf(fichier),
".txt": conver_txt(fichier),
".html": conver_html(fichier),
".xlsx" or ".xls": conver_xls(fichier),
".csv": conver_csv(fichier),
is_binary(fichier): fichier
}
return choices.get(Path(fichier).suffix)
我可以确认我提供了正确的密钥(在本例中为 .html),但它仍会尝试调用 conver_docs 方法。知道这是为什么吗?
【问题讨论】:
-
在构建字典时,您正在转换文件(调用这些转换函数中的每一个)然后只返回一个。那是你想做的吗?
-
哦,所以它会在构建字典时尝试调用每个函数?
-
当您创建字典时,您正在显式调用
conver_docs、conver_pdf等所有函数。这些值不应该是那些函数返回的值,它们应该是函数本身。将键值对更改为".docx": conver_docs等。另外,".xlsx" or ".xls"不会按照您的想法执行。
标签: python python-3.x dictionary