I'm trying to decrypt some data from gpg files that I've downloaded. Downloading the files to a directory is no problem, but I'm having trouble actually decrypting them. Here's what I'm doing right now:
def extractGPGs(gpglist,path,gpgPath="\"C:\\Program Files\\GNU\\GnuPG\\gpg.exe\""):
os.chdir(path)
if not os.path.isdir("GPGFiles"):
os.mkdir("GPGFiles")
if not os.path.isdir("OtherFiles"):
os.mkdir("OtherFiles")
if gpglist == None:
print "No GPG files found"
return
try:
gpg = gnupg.GPG(gpgbinary=gpgPath)
except:
raise "Path to gpg.exe is bad"
print "Extracting GPG Files..."
for file开发者_开发知识库name in gpglist:
print "Extracting %s..." % filename
stream = open(filename,"rb")
decrypted_data = gpg.decrypt_file(stream,output=".\\OtherFiles")
stream.close()
print "Finished Extracting GPG Files"
And here is the error that I'm getting:
Traceback (most recent call last):
File "C:\Documents and Settings\nlesniewski\Desktop\downloadData.py", line 281, in <module>
main(vendor,category)
File "C:\Documents and Settings\nlesniewski\Desktop\downloadData.py", line 273, in main
extractAndParse.main(info['LocalFolder'])
File "C:\Documents and Settings\nlesniewski\Desktop\extractAndParse.py", line 147, in main
extractGPGs(getGPGs(getAllArchives(path)),path)
File "C:\Documents and Settings\nlesniewski\Desktop\extractAndParse.py", line 133, in extractGPGs
decrypted_data = gpg.decrypt_file(stream,output=".\\OtherFiles")
File "C:\Python25\Lib\site-packages\gnupg.py", line 574, in decrypt_file
os.remove(output) # to avoid overwrite confirmation message
WindowsError: [Error 5] Access is denied: '.\\OtherFiles'
Why am I getting this error, and, more importantly, how can I decrypt the gpg's?
Maybe you need the output to be a file name instead of a directory.
精彩评论