Ich programmiere ein kleines Skript, das jede Datei verschlüsselt, die sich nach einem bestimmten Pfad befindet. In meinem Fall die Skripte realpath ... im ersten Ordner (Skriptverzeichnis) funktioniert gut, aber wenn ich in das nächste Verzeichnis gehe, versucht es, in die Dateien in der zweiten Verzeichnisstufe zu cd. So sieht der Baum aus [Datei, Datei, Ordner [Datei, Datei], Datei, Datei]Dateien von jedem Verzeichnis holen (Py)
(Ich weiß, dass das Skript und der Schlüssel auch verschlüsselt werden, aber ich war zu faul dafür. .. und sorry für mein schlechtes Englisch, ich hoffe, dass Sie mich verstehen können: P)
Mein Code:
import os
import Crypto
from Crypto.PublicKey import RSA
def cryptFilesInFolder(currentDir):
content_list = os.listdir(currentDir)
print content_list
print '[+] Start encrypting files in Dir: ' + currentDir
for filename in content_list:
print '[+] Encrypting ' + filename
crypt(filename, key, currentDir)
def crypt(filename, key, currentDir):
try:
f = open(filename, 'r')
fileString = f.read()
f.close()
print '[+] Encrypting file: ' + filename + ' with 4096 bytes'
encryptedFileString = key.publickey().encrypt(fileString, 4096)
f = open (filename, 'w')
f.write(str(encryptedFileString)) #write ciphertext to file
f.close()
except IOError:
print '[!] File was a folder'
cryptFilesInFolder(currentDir + '/' + filename)
print '[+] Startet Crypting'
print '[+] Reading Key'
f = open('mykey.pem','r')
key = RSA.importKey(f.read())
f.close()
print '[+] Key imported'
print '[+] Setting Root Directory'
rootDir = os.path.realpath(__file__)
print 'Root Directory set'
print '[+] Starting encryption in folder: '
cryptFilesInFolder(os.path.dirname(os.path.realpath(__file__)))
print '[+] Finished \n\n\n'
die Fehlermeldung:
Bjarne-2:crypt bjarne$ python crypt\ folder\ Kopie.py
[+] Startet Crypting
[+] Reading Key
[+] Key imported
[+] Setting Root Directory
Root Directory set
[+] Starting encryption in folder:
['.DS_Store', 'crypt folder Kopie.py', 'myKey.pem', 'Neuer Ordner']
[+] Start encrypting files in Dir: /Users/bjarne/Desktop/crypt
[+] Encrypting .DS_Store
[+] Encrypting file: .DS_Store with 4096 bytes
[+] Encrypting crypt folder Kopie.py
[+] Encrypting file: crypt folder Kopie.py with 4096 bytes
[+] Encrypting myKey.pem
[+] Encrypting file: myKey.pem with 4096 bytes
[+] Encrypting Neuer Ordner
[!] File was a folder
['.DS_Store', 'key Kopie.py']
[+] Start encrypting files in Dir: /Users/bjarne/Desktop/crypt/Neuer Ordner
[+] Encrypting .DS_Store
[+] Encrypting file: .DS_Store with 4096 bytes
[+] Encrypting key Kopie.py
[!] File was a folder
Traceback (most recent call last):
File "crypt folder Kopie.py", line 37, in <module>
File "crypt folder Kopie.py", line 11, in cryptFilesInFolder
File "crypt folder Kopie.py", line 25, in crypt
File "crypt folder Kopie.py", line 11, in cryptFilesInFolder
File "crypt folder Kopie.py", line 25, in crypt
File "crypt folder Kopie.py", line 6, in cryptFilesInFolder
OSError: [Errno 20] Not a directory: '/Users/bjarne/Desktop/crypt/Neuer Ordner/key Kopie.py'