2017-10-19 163 views
0

请帮我使用python将文件上传到TFTP服务器。 我正在使用tftpy模块。 在文件(http://tftpy.sourceforge.net/sphinx/index.html)它说如何使用python将文件上传到tftp服务器?

class tftpy.TftpClient.TftpClient(host, port, options={}) 
    upload(filename, input, packethook=None, timeout=5) 

应该是什么filename-是该文件已经存在的远程服务器的路径,或只是新的文件名,其服务器将创建一个使用的文件名要创建的新文件(文件名)的默认目录或路径?

我必须在上传之前必须在服务器上创建一个与输入文件同名的文件吗?

服务器上传文件的默认目录是什么?

如果是这样,服务器使用名称传递(文件名)创建文件的另一种方式是什么?

什么我送是

tftp_obj.upload('something.txt','/home/username/project/example.txt') 

我送新的文件名something.txt不服务器存在 我收到错误消息:

raise TftpException, "Received ERR from server: " + str(pkt) 
tftpy.TftpShared.TftpException: Received ERR from server: ERR packet: errorcode = 1 
msg = File not found 

如果我在根目录下的远程服务器(/example.txt)中创建文件(与输入文件名相同)(假设它上传到的默认文件夹是root)并给出文件名参数路径

tftp_obj.upload('/example.txt','/home/username/project/example.txt') 

同样的错误,当我刚刚通过现有的文件名

tftp_obj.upload('example.txt','/home/username/project/example.txt') 

请示例帮助。

+0

您是否尝试过使用http://tftpy.sourceforge.net/ – thatrockbottomprogrammer

+0

它在同一个模块我使用 – sans0909

+0

您可以验证文件是否确实存在于服务器中吗? – thatrockbottomprogrammer

回答

0

从它的声音filenameTftpClient Documentation是将要提供给远程TFTP服务器上上传的文件名,input是你上传

上传本地文件(文件名的数据源,输入,packethook =无,超时= 5)

此方法启动tftp上传到配置的远程主机,上传传递的文件名。它读取输入的文件,它可以是一个类似文件的对象或本地文件的路径...

+0

我知道这个问题,但是它是否会在服务器中创建带有文件名的文件,如果是这样,它会在哪个路径下创建,并且为什么会收到文件未找到错误? – sans0909

相关问题