You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码执行至print('continue')后无响应,求排查提示

故障排查提示
  • 定位Excel加载卡点
    程序卡在SearchTeachers实例化阶段,大概率是load_workbook加载文件时出现问题:

    • 若somefile.xlsx或another file.xlsx是大文件,openpyxl加载会耗时较长,看似“停止工作”,可先替换为几行数据的小测试文件验证。
    • 确认文件存在且路径正确:another file.xlsx含空格,需确保桌面确实有该文件,文件名(包括俄语工作表名Лист1)拼写完全一致,Mac系统注意大小写区分。
  • 修复代码缩进错误
    你的类方法__init__和createFile未缩进,属于语法错误,会导致程序异常。正确缩进格式如下:

    class SearchTeachers:
        def __init__(self, sheetFileName, sheetGoogleName):
            self.sheetWithTeachers = load_workbook(sheetFileName)['Лист1'] 
            self.sheet_to_work = load_workbook(sheetGoogleName)['Data']  
            self.end_row = self.sheet_to_work.max_row
            self.n = 1
    
        def createFile(self, filenumber): 
            self.filenumber = filenumber
            newFile = 'phd' + str(self.filenumber) + '.csv'
            self.FillFile = open(newFile, 'w')                 
            self.FillFile.write("username;password;course1;type1")
            self.FillFile.write('\n') 
            print("file is done" + newFile)
            return self.FillFile
    
  • 添加调试日志明确卡点
    在__init__方法中分步添加打印语句,精准定位是加载哪个文件时卡住:

    def __init__(self, sheetFileName, sheetGoogleName):
        print("开始加载第一个Excel文件")
        self.sheetWithTeachers = load_workbook(sheetFileName)['Лист1'] 
        print("第一个文件加载完成")
        print("开始加载第二个Excel文件")
        self.sheet_to_work = load_workbook(sheetGoogleName)['Data']  
        print("第二个文件加载完成")
        self.end_row = self.sheet_to_work.max_row
        self.n = 1
    
  • 检查文件状态与权限

    • 确保两个Excel文件未被其他程序(如Excel、Numbers)打开,文件被占用会导致openpyxl无法读取,进而卡住。
    • 验证桌面路径权限:在os.chdir后添加print(os.listdir()),查看是否能列出桌面文件,确认路径正确且有访问权限。
  • 优化文件操作避免资源泄漏
    createFile中打开文件后未关闭,建议改用with语句自动管理资源,避免潜在的资源泄漏问题:

    def createFile(self, filenumber): 
        self.filenumber = filenumber
        newFile = 'phd' + str(self.filenumber) + '.csv'
        with open(newFile, 'w') as self.FillFile:
            self.FillFile.write("username;password;course1;type1\n")
        print("file is done" + newFile)
        return newFile
    

内容的提问来源于stack exchange,提问作者Natalie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 09:45:33