2016-12-04 6 views
-1

Я пытаюсь выполнить поиск .txt-файлов в указанной папке и зашифровать каждый из .txt-файлов, найденных с использованием моих алгоритмов шифрования. Однако я не могу показаться, чтобы быть в состоянии выяснить, как зашифровать все .txt файлы, найденные в папке и переименуйте ихКак шифровать несколько файлов с помощью python

это код, я работаю с в настоящее время

import time, os, sys, encrypt, decrypt, caesarCipher, reverseCipher, vigenereCipher, glob 

def main(): 
    outputFilename = 'ABC.encrypted.txt' 
    mKey = 5 
    myMode = 'encrypt' 


    for root, dirs, files in os.walk('/Ransom'): 
     for file in files: 
      if file.endswith((".txt")): 
      inputFilename = os.path.join(root, file) 

    if not os.path.exists(inputFilename): 
     print('The file %s does not exist. Exiting....' % (inputFilename)) 
     sys.exit() 

    fileObj = open(inputFilename) 
    content = fileObj.read() 
    fileObj.close() 

    print ('%sing...' % (myMode.title())) 

    startTime = time.time() 
    if myMode == 'encrypt': 
     translated = encrypt.encryptMess(mKey, content, myMode) 
    elif myMode == 'decrypt': 
     translated = decrypt.decryptMess(mKey, content, myMode) 

    outputFileObj = open(outputFilename, 'w') 
    outputFileObj.write(translated) 
    outputFileObj.close() 

    print('Done %sing %s (%s characters).' % (myMode, inputFilename, len(content))) 
    print('%sed file is %s.' % (myMode.title(), outputFilename)) 

if __name__ == '__main__': 
    main() 

Я очень признателен за любую помощь чтобы помочь мне в этом.

+0

так же, как вы 'print' имена файлов внутри' для файл в файлах: 'loop, вы должны сделать то же самое в отношении шифрования. Продолжайте делать это ** внутри ** цикла 'for'. – Dekel

+0

Я пробовал это делать, но это не сработало. Это код, который я пробовал для root, dirs, файлов в os.walk ('/ Users/rose_/Desktop/Ransom'): для файла в файлах: , если file.endswith ((". Txt")): Inputfilename = os.path.join (root, файл)) –

+0

обновите вопрос с помощью кода, который вы пробовали – Dekel

ответ

0

Этот код перебирает все файлы в данной папке и вызывает назначенный метод всякий раз, когда файл «* .txt»

import os 

baseUrl = './' 

def encryptFile(filename): 
    # process one file here 
    print baseUrl + filename 

alist = next(os.walk(baseUrl))[2] 
for i in xrange(len(alist)): 
    afile = alist[i] 
    if afile[-4:] == '.txt': 
     encryptFile(afile)