Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-循环遍历目录并对每个文件调用函数_Python_Openpyxl - Fatal编程技术网

Python-循环遍历目录并对每个文件调用函数

Python-循环遍历目录并对每个文件调用函数,python,openpyxl,Python,Openpyxl,我想循环遍历一个目录,并对每个文件调用一个函数,该文件以列表中的个人姓名首字母结尾 文件名如下所示: 时间表\u EBSC\u FraTeam\u BIE.xlsx 或 时间表\u EBSC\u FraTeam\u BIE.xlsm 我的代码将我放在正确的目录中,并运行代码,但只针对列表中的第一个人,然后停止。它不会转到下一个 以下是我的代码: (在本例中,包含这些首字母的两个文件都是.xlsx) 无论find_errors()函数是否有错误或异常,都可以在find-errors()调用前后尝试

我想循环遍历一个目录,并对每个文件调用一个函数,该文件以列表中的个人姓名首字母结尾

文件名如下所示:

时间表\u EBSC\u FraTeam\u BIE.xlsx

时间表\u EBSC\u FraTeam\u BIE.xlsm

我的代码将我放在正确的目录中,并运行代码,但只针对列表中的第一个人,然后停止。它不会转到下一个

以下是我的代码:

(在本例中,包含这些首字母的两个文件都是.xlsx)

无论find_errors()函数是否有错误或异常,都可以在find-errors()调用前后尝试打印语句。 比如: 打印“嗨” 查找错误(个人) 打印“你好”

如果循环中的每个条目都打印hi和hello,那么我们可以假设find_errors()工作正常


谢谢,

查找错误功能中有什么?除了一个例外,它到底是如何停止的呢?添加打印语句以查看您被卡住的地方。特别是关于find_error函数。find_error很长,所以我不会在这里发布。但它会在文件中查找错误。在函数结束时,它将它们打印到一个.txt文件中并关闭该文件。最后一个语句是“text_file.close()”您检查过该文件了吗?里面写了什么?或者您可以在函数结束之前添加
text\u file.write(“某物”)
以进行调试。您是否检查了
os.listdir(os.getcwd())
返回的内容?您的
find_errors()
是否使用
os.chdir()
def find_initials():
    os.chdir("J://EBSC//1_EBSC//3_Employee matters//1_Timesheets")
    EBSC = ["BIE", "IWA"]

    for person in EBSC:
        for i in os.listdir(os.getcwd()):
            if i.endswith(person+".xlsx") or i.endswith(person+".xlsm"):
                find_errors(person)