Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python GNUPG-文件夹名称中存在空格问题_Python_Gnupg - Fatal编程技术网

Python GNUPG-文件夹名称中存在空格问题

Python GNUPG-文件夹名称中存在空格问题,python,gnupg,Python,Gnupg,.py文件和要解密的文件位于同一文件夹中。 如果文件夹名包含空格,则函数返回False,否则返回True,并正确解密文件 这是我的密码: import os import gnupg gpg = gnupg.GPG() # monkey patch.... if os.name != 'nt': import gnupg._parsers gnupg._parsers.Verify.TRUST_LEVELS["DECRYPTION_COMPLIANCE_MODE"] = 23

.py文件和要解密的文件位于同一文件夹中。 如果文件夹名包含空格,则函数返回False,否则返回True,并正确解密文件

这是我的密码:

import os
import gnupg
gpg = gnupg.GPG()

# monkey patch....
if os.name != 'nt':
    import gnupg._parsers
    gnupg._parsers.Verify.TRUST_LEVELS["DECRYPTION_COMPLIANCE_MODE"] = 23


SelectedFile = os.getcwd() + '/myfile.cx'
outputfile = SelectedFile.split('.cx')[0] + '.dx'

path = os.path.dirname(SelectedFile)

with open(os.path.abspath(SelectedFile), 'rb') as f:
    status = gpg.decrypt_file(
        f,
        passphrase='mypassword',
        output=outputfile,
    )
    print (status.ok)

注意,我试图分离这两个文件,我意识到问题与包含.py文件的文件夹有关。

您能创建一个不需要tkinter的示例复制器吗?您能否确认这是跨平台发生的(或者,这是一个仅限Windows的bug)?另外,您正在运行Python的哪个gnupg模块?(是由伊希斯·洛夫克鲁夫特(Isis Lovecruft)维持的分支机构,还是另一个分支机构?)(顺便说一句,我只是想说清楚——尽管我的名字是树中接受补丁的人之一,但python gnupg很糟糕,我不建议任何人使用它;就我个人而言,我完全停止在任何OpenPGP相关代码中使用python,改为Go的,尽管它的作者不承认它,但它是一个高质量的实现)(…然而,如果我正在构建一个需要类似功能的新设计,我可能会选择,作为一个旨在避免OpenPGP缺陷的协议)。tkinter软件包不是必需的,这是我插入它的一个错误。请参阅更新的代码。我在mac上编译,但问题也发生在windows上。关于openpgp,我完全同意你的看法,不幸的是,我正在处理一个多组件项目,其中已确定使用openpgp。