在使用Python的ftplib库进行文件上传时,保留文件的mtime(修改时间)可以通过以下步骤实现:
import ftplib
import os
import time
ftp = ftplib.FTP("ftp.example.com") # 替换为实际的FTP服务器地址
ftp.login("username", "password") # 替换为实际的用户名和密码
ftp.cwd("upload") # 替换为实际的目标目录
local_file = "path/to/local/file.txt" # 替换为实际的本地文件路径
remote_file = os.path.basename(local_file)
mtime = os.path.getmtime(local_file)
formatted_mtime = time.strftime("%Y%m%d%H%M%S", time.gmtime(mtime))
with open(local_file, "rb") as f:
ftp.storbinary(f"STOR {remote_file};MTIME={formatted_mtime}", f)
解释上述代码:
os.path.getmtime()
函数获取本地文件的mtime(修改时间)。time.strftime()
函数将mtime格式化为一个字符串,以便在上传时通过MTIME
参数传递给ftplib。storbinary()
方法上传文件。在上传命令中,将文件名和格式化的mtime传递给服务器。请注意,此代码假设您已经建立了一个有效的FTP连接,并且将文件上传到目标目录中。如果需要,您可以根据实际情况进行调整。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
以上是如何在使用Python ftplib上传时保留文件mtime的完善且全面的答案,希望对您有帮助。
领取专属 10元无门槛券
手把手带您无忧上云