我一直在创建一个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
之外,该类中的其他方法也无法访问。
任何特殊原因?还是只是一个愚蠢的错误?
答案 0 :(得分:0)
这种“异常行为”根本不是异常现象,而是Python始终如何工作。您始终需要通过self
来引用方法和属性。
def unhide_file(self):
self.general_unhide(self.files)