用python遍历目录下文件(包括子目录)

#coding=gbk
"""
实现服务器资源data文本文件加密
"""

__author__ = 'lc'

import os
import sys
import traceback

ENCRYPT_DIR = "path"
PASSWORD = [0x88, 0x04, 0xfe, 0xef, 0xaa]

def check_arg():
    if len(sys.argv) != 2:
        print("参数不正确! 用法: encrypt_data 要加密的目录")
        exit(1)

    global ENCRYPT_DIR
    ENCRYPT_DIR = sys.argv[1]

def encrypt_data():
    try:
        check_arg()
        print("正在加密, 请稍候......")
        for root, dirs, files in os.walk(ENCRYPT_DIR):
            if root.find(".git") != -1:
                continue

            for file in files:
                if not (file.endswith(".txt") or file.endswith(".ini")):
                    continue

                file = os.path.join(root, file)
                fp = open(file, "rb")
                fileLines = fp.readlines()
                fp.close()
                fp = open(file, "wb")
                pwdindex = 0

                for rline in fileLines:
                    rbytes = bytearray(rline)
                    wline = bytearray("")
                    for val in rbytes:
                        pwdindex = 0 if pwdindex >= len(PASSWORD) else pwdindex
                        val ^= PASSWORD[pwdindex]
                        pwdindex = pwdindex + 1
                        wline.append(val)
                    fp.write(wline)

    except Exception:
        traceback.print_exc()
    else:
        print("加密成功")

if __name__ == "__main__":
    encrypt_data()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值