如何在askopenfilename中编写远程机器路径

时间:2015-02-10 19:23:52

标签: python ubuntu raspberry-pi selection paramiko

我正在 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()

1 个答案:

答案 0 :(得分:1)

我很确定tk文件对话框只能浏览Ubuntu机器(它似乎运行)文件系统 - 而不是通过SSH的RPi文件系统,所以你永远不会看到RPi目录。

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

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