一个简单的更改所在目录文件名称的py脚本

查看 82|回复 11
作者:blackfrey   
这个脚本程序很简单,但我觉得我希望解决的情形有点意思,所以拿出来分享、讨论一下。
在大家的电脑中,可能会有一些不希望别人知道的文件,一般会把这些文件找个地方藏起来。
不过呢,这些文件还是会被一些工具找出来,所以希望对这些文件进行进一步地隐藏。
然后,我就想到了一个简单又方便的方法——更改文件名称。
具体思路就是把文件名中的每个字符都加一个数值,变成另一个字符。
具体代码如下:
[Python] 纯文本查看 复制代码'''
这是一个更改文件名的脚本。
本脚本首先会读取脚本所在目录下的所有文件,获取他们的文件名。
然后将文件名中的每个字符都替换为与下列列表中对应字符相加的值。
'''
import os
# 定义字符替换列表
char_map = [
    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
    'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
]
# 获取脚本所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 获取目录下的所有文件,排除以'.py'结尾的文件。
files = [file for file in os.listdir(script_dir) if not file.endswith('.py')]
# 遍历所有文件
for file in files:
    # 获取文件的绝对路径
    file_path = os.path.join(script_dir, file)
   
    # 如果是文件而不是目录
    if os.path.isfile(file_path):
        # 获取文件名
        file_name = os.path.basename(file_path)
        
        # 替换文件名中的每个字符
        new_file_name = ""
        # 遍历文件名中的每个字符,将其替换为与char_map中对应位置的字符相加的值
        # 复原的脚本就是把相加变成相减。
        for index, char in enumerate(file_name):
            new_file_name += chr(ord(char) + ord(char_map[index % len(char_map)]))
            
        # 构建新的文件路径
        new_file_path = os.path.join(script_dir, new_file_name)
        
        # 重命名文件
        os.rename(file_path, new_file_path)
大家看个乐。

文件, 脚本

BrutusScipio   

如果不改后格式缀,文本文件可能没人关心,但视频或可执行程序就另当别论了。考虑使用进行压缩也不现实,毕竟用Python了调个加密库随便用个散列函数或校验和函数不是举手之劳?
kenxy   

这个只不希望文件内容从文件名上表现出来,也算是一种比较隐秘的方法,更改后文件名并不能体现出文件内容是吧,不知道理解得对不对?
Lhnn73   

感谢分享
ltgb   

不希望别人知道建议存到网盘
braumhuang   

你这种方法还是不安全,更名后,搜索栏搜索还是会出现。有那种隐藏文件夹的小工具
Lcp1027   

感谢分享
zrw528   

谢谢分享
pistachios2008   

感谢分享
94e8v061   

感谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部