我想读取文件名(A/B/C/D)和为每个文件调用可调用函数在Files文件夹中,然后处理下一个文件(自动传递到下一个文件和函数)。
我有多个文件存储在File_folder文件夹:目录结构如下:
App/
├─ main.py
└─ Files/
| └─B.txt
| └─A.xlsx
| └─D.xlsx
| └─C.csv
└─ File_output/
我有多个函数存储在main.py:
def A_fct(fileA):
pass
def B_fct(fileB):
pass
def C_fct(fileC):
pass
def D_fct(fileD):
pass
def E_fct(fileE):
pass
def F_fct(fileF):
pass
的例子:
读取文件名B.txt=比;调用B_fct
读取文件名A.xlsx=比;调用A_fct
等等……
我该怎么做呢?
我已经读了下面所有的建议,但仍然不知道该怎么做。
如果我对问题的理解正确,您希望根据文件的名称为每个文件调用特定的函数
可以定义一个关系为file_name => function
name_to_func = {
"A": A_fct,
"B": B_fct,
...
}
则用
调用函数name_to_func[file_name](file_name)
编辑:
现在我明白你想遍历文件夹中的文件,你可以用os.listdir(path)
来做。
例如,像这样:
import os
path = '/your/path/here'
name_to_func = {
"A": A_fct,
"B": B_fct
}
for file_name in os.listdir(path):
file_prefix = file_name.split('.')[0]
name_to_func[file_prefix](file_name)