我正在做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的新手,我知道这可能是基本的。
提前谢谢。
发布于 2019-03-11 23:47:26
关于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语言中使用string一样轻松地检查file_name。
发布于 2019-03-11 21:20:09
您可以尝试检查每个文件的名称,并确保要加密的文件不是F_lock.py文件。
if not file_name.startswith("F_lock.py"):            # rest of the code
https://stackoverflow.com/questions/55102642
复制相似问题