pysftp:如何更新上次修改日期
pysftp: How to update last modified date
我想在对某个文件进行一些处理后将其移动到另一个目录。
轻松移动文件
import pysftp
conn = pysftp.Connection(host = 'host', username = 'user', password = 'password')
remote_src = '/dir1/file1.csv'
remote_dest = '/dir2/archive_file1.csv'
conn.rename(remote_src, remote_dest)
conn.close()
但是 LastModified 日期与原始文件相同。
有没有办法在重命名时将 LastModified 日期更新为当前日期?
重命名(移动)文件不会改变文件的修改时间。它改变了文件夹的修改时间。
如果你想改变文件的修改时间,你必须明确地做。 pysftp 没有 API 。但是你可以使用 Paramiko SFTPClient.utime
. See also .
感谢@MartinPrikryl 的回答,我终于实现了我的目的。
pysftp.Connection has a property sftp_client which as per documentation returns the active paramiko.SFTPClient 对象。
我用这个 属性 来调用 paramiko.SFTPClient.utime
import pysftp
conn = pysftp.Connection(host = 'host', username = 'user', password = 'password')
remote_src = '/dir1/file1.csv'
remote_dest = '/dir2/archive_file1.csv'
conn.rename(remote_src, remote_dest)
# below is the line I added after renaming the file
conn.sftp_client.utime(remote_dest, None)
conn.close()
我想在对某个文件进行一些处理后将其移动到另一个目录。
轻松移动文件import pysftp
conn = pysftp.Connection(host = 'host', username = 'user', password = 'password')
remote_src = '/dir1/file1.csv'
remote_dest = '/dir2/archive_file1.csv'
conn.rename(remote_src, remote_dest)
conn.close()
但是 LastModified 日期与原始文件相同。
有没有办法在重命名时将 LastModified 日期更新为当前日期?
重命名(移动)文件不会改变文件的修改时间。它改变了文件夹的修改时间。
如果你想改变文件的修改时间,你必须明确地做。 pysftp 没有 API 。但是你可以使用 Paramiko SFTPClient.utime
. See also
感谢@MartinPrikryl 的回答,我终于实现了我的目的。
pysftp.Connection has a property sftp_client which as per documentation returns the active paramiko.SFTPClient 对象。
我用这个 属性 来调用 paramiko.SFTPClient.utime
import pysftp
conn = pysftp.Connection(host = 'host', username = 'user', password = 'password')
remote_src = '/dir1/file1.csv'
remote_dest = '/dir2/archive_file1.csv'
conn.rename(remote_src, remote_dest)
# below is the line I added after renaming the file
conn.sftp_client.utime(remote_dest, None)
conn.close()