如何在python中的代码中排除特定文件名

时间:2019-03-11 13:12:57

标签: python-2.7

我正在研究文件的python项目加密/解密 在加密包括enter image description here的文件的整个目录时,主python代码文件也将被加密,即F_lock.py

代码:

def encrypt_all_files(self):
        dirs = self.getAllFiles()
        for file_name in dirs:
            self.encrypt_file(file_name)

那么如何排除此F_lock.py file不被加密

对不起,我是Python的新手,我知道这很基本。

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试检查每个文件的名称,并确保要加密的文件不是F_lock.py文件。

if not file_name.startswith("F_lock.py"): # rest of the code

答案 1 :(得分:0)

关于self.getAllFiles()self.encrypt_file(file_name)的信息很少。我的答案基于:

self.getAllFiles() # Return list of files with complete file address like C:\Folder\file.py

self.encrypt_file(file_name) # Take input file complete address

在这种情况下,您必须从完整的文件地址中找出文件名,这可以通过使用os库来完成,如下所示:

def encrypt_all_files(self):
        dirs = self.getAllFiles()
        for file_name in dirs:
            if not os.path.basename(file_name) == 'F_lock.py':
                self.encrypt_file(file_name)

您必须根据dirs中的内容来决定,如果它是完整的地址,则可以使用上述方法。基本上,您可以像检查Python中的file_name一样容易地检查string