为sshfs设置env

2024-04-26 04:45:04 发布

您现在位置:Python中文网/ 问答频道 /正文

sshfs如果远程主机不支持本地区域设置(LC\u ALL),则装载失败。Goolge search告诉我如何在bash上处理这个问题。在

但我需要从python调用sshfs。(失败)命令如下所示:

import subprocess
subprocess.check_call(['sshfs', 'HOST:~/SRC', '~/DST'])

另一个搜索指向了'Set locale encoding in python'。所以我想应该是这样的:

^{pr2}$

但这都不管用。我认为它失败是因为sshfs为ssh派生了一个新进程,而这个进程不适合我的env变量?在

错误消息总是:remote host has disconnected


Tags: import命令bashhost区域search远程进程
1条回答
网友
1楼 · 发布于 2024-04-26 04:45:04

哈哈,我自欺欺人!我的上述方法确实有效。除了那个“恩”_美国UTF-8'在我用来测试的机器上不可用。在bash上测试期间,我使用了'de_DE.UTF公司-8'之前。在

有了LC,一切都像预期的那样工作。所以正确的解决方案是:

import os, subprocess
env = os.environ.copy()
env['LC_ALL'] = 'C'
subprocess.check_call(['sshfs', 'HOST:~/SRC', '~/DST'], env = env)

相关问题 更多 >