使用Python编写隐藏文件的命令行工具
发布时间:2023-12-19 00:44:03
在Python中编写隐藏文件的命令行工具,可以使用os模块提供的函数来隐藏文件。下面是一个简单的示例代码:
import os
def hide_file(file_path):
# 获取文件的绝对路径
abs_file_path = os.path.abspath(file_path)
# 判断文件是否存在
if not os.path.exists(abs_file_path):
print(f"文件 {abs_file_path} 不存在")
return
# 获取文件所在目录的绝对路径
abs_dir_path = os.path.dirname(abs_file_path)
# 将文件名前面加上点,实现隐藏
hidden_file_path = os.path.join(abs_dir_path, f".{os.path.basename(abs_file_path)}")
# 修改文件名
os.rename(abs_file_path, hidden_file_path)
print(f"文件 {abs_file_path} 成功隐藏为 {hidden_file_path}")
def unhide_file(file_path):
# 获取文件的绝对路径
abs_file_path = os.path.abspath(file_path)
# 判断文件是否存在
if not os.path.exists(abs_file_path):
print(f"文件 {abs_file_path} 不存在")
return
# 获取文件所在目录的绝对路径
abs_dir_path = os.path.dirname(abs_file_path)
# 将文件名前面的点去掉,实现取消隐藏
unhidden_file_path = os.path.join(abs_dir_path, os.path.basename(abs_file_path)[1:])
# 修改文件名
os.rename(abs_file_path, unhidden_file_path)
print(f"文件 {abs_file_path} 成功恢复为 {unhidden_file_path}")
def main():
user_input = input("请输入文件路径:")
action = input("请选择操作(输入 1 隐藏文件,输入 2 恢复隐藏):")
if action == "1":
hide_file(user_input)
elif action == "2":
unhide_file(user_input)
else:
print("无效的操作")
if __name__ == "__main__":
main()
以上代码定义了hide_file函数和unhide_file函数,分别用于隐藏文件和取消隐藏文件。main函数用于接收用户输入的文件路径和操作类型,并调用相应的函数来处理。
使用例子:
1. 隐藏文件:
请输入文件路径:/path/to/file.txt 请选择操作(输入 1 隐藏文件,输入 2 恢复隐藏):1 文件 /path/to/file.txt 成功隐藏为 /path/to/.file.txt
2. 恢复隐藏:
请输入文件路径:/path/to/.file.txt 请选择操作(输入 1 隐藏文件,输入 2 恢复隐藏):2 文件 /path/to/.file.txt 成功恢复为 /path/to/file.txt
注意:在Windows系统中,隐藏文件的文件名前面需要加上点开头(例如.file.txt),而在类Unix系统中,隐藏文件的文件名前面不需要加上点(例如file.txt)。
