【问题标题】:How do I write remote machine Path in askopenfilename如何在 askopenfilename 中写入远程机器路径
【发布时间】:2015-02-10 19:23:52
【问题描述】:

我正在 Ubuntu 上用 python 编写一个程序,通过访问它从远程机器(raspberrypi)中删除一个文件,并连接到网络。 对于文件选择,我使用了一个名为 askopenfilename 的命令。 但我正在努力正确指定 RaspberryPi 的路径。

您能否指导我如何正确指定 Raspberrypi 路径?

IP = "192.168.2.34"
Username = "pi"
Password ="raspberry"
Path="/home/pi/python"

下面是我的代码

from tkFileDialog import askopenfilename
import paramiko

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('192.168.2.34', username='pi', password='raspberry')

checkdir = "/home/pi/python"
name1= askopenfilename(title = "Select File For Removal", initialdir = checkdir)
stdin, stdout, stderr = client.exec_command('ls -l')
for line in stdout:
   print '... ' + line.strip('\n')
client.close()

【问题讨论】:

  • 为什么指定的路径不对?您也可以考虑在raspberrypi.stackexchange.com 发帖
  • 因为我正在尝试访问远程机器,其中包括IP address 或者也可能是Network address,我不确定

标签: python ubuntu raspberry-pi selection paramiko


【解决方案1】:

我相当确定 tk 文件对话框只能浏览 Ubuntu 机器(它似乎在其上运行)文件系统 - 而不是通过 SSH 的 RPi 文件系统,因此您永远不会看到 RPi 目录。

如果您可以阅读那里的 RPi 目录列表,那么您可以创建自己的文件浏览器组件或尝试找到通过 SSH 工作的现有组件。

然后看起来你又在“再次发明轮子”(这当然可以用于学习目的)-gFTP、FileZilla、许多 Linux 桌面文件浏览器等(如果你使用的是 Windows 机器,则为 WinSCP ) 是现成的工具。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-11
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2015-10-30
    相关资源
    最近更新 更多