2時間以上経過したファイルをsftp経由でダウンロードしたいのですが。次に、それらをネットワークサイトから削除したいと思います。sftpには次のコードを使用できますが、リモートマシンでオブジェクトを処理すると問題が発生します。以下のコードは「timestamp=os.stat」行で失敗します。これはosモジュールの問題だと思いますか?
import paramiko, sys, os,time
host = 'ftp address'
port = 22
transport = paramiko.Transport((host, port))
password = "pass" #hard-coded
username = "user" #hard-coded
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
print 'SFTP Client initiated'
remotepath = "/remote folder/"
localpath = '/local folder/'
for file in sftp.listdir('.'):
fullpath = os.path.join('.',file)
timestamp = os.stat(fullpath).st_ctime # get timestamp of file
createtime = datetime.datetime.fromtimestamp(timestamp)
now = datetime.datetime.now()
delta = now -createtime
if delta.hours > 2:
sftp.get(file,localpath)
sftp.remove(file)
sftp.close()
transport.close()