我有一个需要在GCP数据流管道中解密的文件,我的代码是用Python编写的。我尝试使用subprocess远程调用gpg命令:
subprocess.call(['gpg', '-d', '/tmp/test.csv.gpg' ,'>', '/tmp/test.csv'])
或
subprocess.call(['gpg', '-d', '/tmp/test.csv.gpg > /tmp/test.csv'])
,但似乎上面的代码片段不能正常工作。因为在执行上述代码之后没有创建新文件。有人知道如何远程触发这个gpg命令吗?
任何帮助将不胜感激。由于
可能是因为GPG命令正在读取'/tmp/test.csv '。gpg祝辞/tmp/test.csv'作为要打开的文件名,因此它会解释为什么它没有像预期的那样创建一个新文件。
因此,一个更简单的解决方案是更改subprocess中的代码,如下所示:import subprocess
subprocess.call(['gpg', '--output', 'doc', '--decrypt','doc.gpg'])
所以,在谷歌一番之后,我找到了答案。使用的命令是:
gpg --output doc --decrypt doc.gpg
问题解决了