首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python子进程:如何发送密码(rclone配置)

Python子进程:如何发送密码(rclone配置)
EN

Stack Overflow用户
提问于 2018-03-31 13:37:59
回答 4查看 1.3K关注 0票数 1

我想在python中使用里尔酮。如果我不使用密码加密我的rclone,那么我可以这样做:

代码语言:javascript
复制
import subprocess 
process = subprocess.Popen(["rclone", "listremotes"], shell=True, stdin=subprocess.PIPE)
output = process.communicate()
print(output)

但是我想用密码来保护我的rclone,所以我需要一种将它发送给Rclone的方法。我跟踪了这个回答,但是我得到了错误Failed to read password: The handle is invalid

代码语言:javascript
复制
import subprocess 
psw= input("enter psw")
psw_byte= str.encode(psw+'\n')
process = subprocess.Popen(["rclone", "listremotes"], shell=True, stdin=subprocess.PIPE,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.stdin.write(psw_byte)
process.stdin.flush()
output = process.communicate()
print(output)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-04-25 19:54:51

我建议您使用RCLONE_CONFIG_PASS环境变量将配置密码传递给rclone。见文档中有关配置加密的部分。

例如

代码语言:javascript
复制
os.environ("RCLONE_CONFIG_PASS") = "mypassword"

除非您指定了tty,否则Unix程序读取密码往往不是这样的脚本。

这是一个相当大的麻烦,所以我建议只设置环境变量。

如果您只想为子进程设置环境,可以这样做:带有修改环境的Python子进程/Popen

PPS我是rclone的作者:-)

票数 3
EN

Stack Overflow用户

发布于 2020-08-22 01:27:41

这可能并不能准确地解决这个问题,但是,由于我还没有在其他地方找到这种形式,这里有一个在ipython和/或jupyter ipynb中使用的解决方案。

可以根据以下问题进行调整:

代码语言:javascript
复制
import getpass
rc_passwd = getpass.getpass()

! rclone --password-command "echo {rc_passwd}" lsd rc_remote:rc_path

因为rc_pathrc_remote中的路径

票数 0
EN

Stack Overflow用户

发布于 2021-12-20 05:34:03

我建议用

代码语言:javascript
复制
rclone obscure 'thepass'

查看或使用配置文件

代码语言:javascript
复制
rclone config file

插入它而不是传递,或者可能使用新conf文件

代码语言:javascript
复制
   rclone ... --config=
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49588368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档