Python-无法访问其他方法中的类方法

时间:2018-08-24 18:57:01

标签: python class

我一直在创建一个python脚本,该脚本基本上在Linux环境中隐藏/取消隐藏文件和文件夹。这是代码

import os


class unhide_files:
    def __init__(self, directory):
        self.parent_dir,self.sub_folders,self.files = list(os.walk(directory))[0]
        os.chdir(directory)

    def general_unhide(self,files):
        try:
            for f in files:
                if "." in f:
                    os.rename(f,f.replace(".","",True))
        except Exception as err:
            print(str(err))

    def unhide_file(self):
        general_unhide(self.files) #unhide_file could not use general_unhide


    def unhide_sub_folders(self):
        general_unhide(self.sub_folders) #unhide_sub_folders could not use general_unhide


    if __name__ == "__main__":
        path = input("Enter the directory's path ")
        unhid = unhide_files(path)

        # testing to see if it works. Directory unhiding is still to 
        be done
        unhid.unhide_file()
        # hiding files behaviour is still to be implemented

该代码的问题在于,除了成为类方法general_unhide之外,该类中的其他方法也无法访问。

任何特殊原因?还是只是一个愚蠢的错误?

1 个答案:

答案 0 :(得分:0)

这种“异常行为”根本不是异常现象,而是Python始终如何工作。您始终需要通过self来引用方法和属性。

def unhide_file(self):
    self.general_unhide(self.files)