Python遍历文件的for循环在Sikuli-IDE报错,如何解决?
解决Sikuli-IDE中Python for循环语法错误的方案
问题原因
Sikuli基于Jython(兼容Python 2.7),其IDE对语法格式(尤其是缩进)要求严格,同时自带适配的文件操作API,直接使用标准库os可能出现兼容性语法问题。
方案一:修复原代码格式与兼容性
确保代码缩进统一使用4个空格(禁止混合空格与制表符),同时增加目录存在性检查避免运行时错误:
import os # 可替换为绝对路径,比如 "C:/JeuDeDonnees" 或 "/home/user/JeuDeDonnees" directory = "JeuDeDonnees" if os.path.exists(directory): for filename in os.listdir(directory): print("File is: " + filename)
方案二:使用Sikuli自带文件操作API(推荐)
Sikuli提供的Path类专为文件路径操作设计,兼容性更强:
from org.sikuli.script import Path dir_path = Path("JeuDeDonnees") if dir_path.exists(): # list()方法返回目录下所有文件名 for filename in dir_path.list(): print("File is: " + filename)
也可以使用Files类实现:
from org.sikuli.script import Files directory = "JeuDeDonnees" files = Files.listFiles(directory) for file in files: # getName()获取文件名,getPath()获取完整路径 print("File is: " + file.getName())
内容的提问来源于stack exchange,提问作者Dimitri Conrozier
相关产品推荐
相关产品推荐

