有没有办法在不创建本地文件的情况下将csv传递给bitwarden cli?

时间:2019-09-25 13:21:43

标签: python python-3.x csv import

我正在编写一个脚本,以将Linux密码存储导出到CSV并将该CSV导入bitwarden。我设法获得了一个功能齐全的CSV文件,该文件可以毫无错误地导入bitwarden。

我正在使用bitwarden cli通过“ bw import bitwardencsv ./pass.csv”导入我的保管库。我目前正在模拟密码存储区上工作,然后再在具有很多敏感帐户和信息的主密码存储区上运行它

问题是我被要求编写脚本,以便CSV不会作为文件写到HDD上并停留在脚本本身内。如果CSV需要是文件,则另一个选择是在保存CSV文件时对其进行加密,然后将其传递给bitwarden cli。

对于从何处开始我还不是最了解,因此需要一些帮助。这是相关代码部分

def main(path):
    gpg = gnupg.GPG(gnupghome='/home/administrator/.gnupg')
    gpg.encoding = 'utf-8'
    csv_data = []
    for file_path in traverse(path):
        if os.path.splitext(file_path)[1] == '.gpg':
            with open(file_path, 'rb') as f:
                data = str(gpg.decrypt_file(f, passphrase = decryptkey ))
                csv_data.append(parse(path, file_path, data))

   with open('pass.csv', 'w', newline='') as csv_file:
       writer = csv.writer(csv_file, delimiter=',')
       writer.writerow(["collections", "type", "name", "notes", "fields", "login_uri", "login_username", "login_password", "login_totp"])
       writer.writerows(csv_data)


   bw_import = 'bw import bitwardencsv ./pass.csv'
   os.system(bw_import)

在此方面的任何帮助将不胜感激。谢谢

0 个答案:

没有答案