首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中排除代码中的特定文件名

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

Stack Overflow用户
提问于 2019-03-11 21:12:57
回答 2查看 925关注 0票数 0

我正在做python项目加密/解密一个文件,同时加密整个目录的文件,包括enter image description here,主要的python代码文件也得到加密,即F_lock.py

代码:

代码语言:javascript
运行
复制
def encrypt_all_files(self):
        dirs = self.getAllFiles()
        for file_name in dirs:
            self.encrypt_file(file_name)

那么如何排除这个不加密的F_lock.py file呢?

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

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-11 23:47:26

关于self.getAllFiles()self.encrypt_file(file_name)的信息并不多。我的答案是基于:

代码语言:javascript
运行
复制
self.getAllFiles() # Return list of files with complete file address like C:\Folder\file.py

代码语言:javascript
运行
复制
self.encrypt_file(file_name) # Take input file complete address

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

代码语言:javascript
运行
复制
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

票数 1
EN

Stack Overflow用户

发布于 2019-03-11 21:20:09

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55102642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档