我嘗試使文件夾中的文件名包含類。但我希望它像集合一樣行事。現在我有這樣的:使自定義類的行爲像集
class Files():
def __init__(self, in_dir):
self.in_dir = in_dir
self.files = set(map(os.path.basename, glob.glob(self.in_dir + "/*.txt")))
def __add__(self, other):
return self.files + other.files
def __or__(self, other):
return self.files | other.files
def __and__(self, other):
return self.files & other.files
def __xor__(self, other):
return self.files^other.files
這項工作,我可以這樣做:
f1 = Files(inDir1)
f2 = Files(inDir2)
diff_files = f1^f2 % this give files that are in f1 or f2 folder but not in both folders
這是好的,但問題是,diff_files
不是Files
實例。如何改變我的類,像在python 3.x中設置一樣?
任何你不使用'set'可怕原因ctly?我想有更多的代碼沒有被顯示,但是現在我會把'__init__'中的代碼作爲一個函數返回一個集合。 –
這是一個小例子。我希望文件具有自定義功能,如刪除self.files中的文件。 – user3654650