我正在开发一个Python工具,用于在我的本地计算机和远程服务器之间同步文件。当我将文件上传到服务器时,服务器上该文件的source属性被设置为上传过程的时间,而不是我希望保留的源文件的mtime。我使用Python ftplib中的FTP.storbinary()来执行上传。我的问题是:有没有一种简单的方法可以在上传时保留mtime,或者在上传后设置它?谢谢。
发布于 2021-10-11 15:09:30
简短的回答是:不。Python ftplib模块不提供传输文件时间的选项。此外,由rfc-959定义的FTP协议没有提供直接获取不设置文件的mtime。在某些服务器上,可以通过SITE命令实现,但这取决于服务器。
如果可能,您应该能够使用connection对象的sendcmd方法传递站点命令。例如,如果服务器接受一个特殊的SITE SETDATE filename iso-8601-date-string,您可以使用:
resp = ftp.sendcmd(f'SITE SETDATE {file_name} {date-string}')https://stackoverflow.com/questions/69528173
复制相似问题