如何使用RemoteFilePutReq传输任意路径下的文件?
如何使用RemoteFilePutReq传输任意路径下的文件?
嘿,我来帮你搞定这个问题!看起来你现在遇到的是RemoteFilePutReq默认只会在scripts文件夹找文件的情况对吧?其实要传输任意路径的文件很简单,关键是要给filename参数传完整的文件路径,而不是只传文件名。
之前你写的代码是:
remote << RemoteFilePutReq(to=self.recipient, filename=self.file_name)
这里如果self.file_name只是单纯的文件名(比如test.txt),服务端就会默认去scripts目录下找。要解决这个问题,你只需要把filename换成文件的绝对路径或者相对于当前脚本运行目录的相对路径就行。
举两个实用的例子:
- 如果文件在绝对路径
/home/user/documents/data.csv,代码改成:remote << RemoteFilePutReq(to=self.recipient, filename="/home/user/documents/data.csv") - 如果文件在当前脚本同级的
files子文件夹里,比如./files/report.pdf,代码可以写成:remote << RemoteFilePutReq(to=self.recipient, filename="./files/report.pdf")
另外要提醒你两个关键点:
- 运行你这个Python脚本的用户,必须对要传输的文件有读取权限,不然会出现权限不足的错误。
- 接收端的Remote服务也要有足够的权限来接收并保存文件,避免接收失败。
这样调整之后,应该就能顺利传输任意路径下的文件啦!
备注:内容来源于stack exchange,提问作者QY Zhang
相关产品推荐
相关产品推荐

