2016-09-05 10 views
0

特定の条件でparamikoパッケージをインポートする必要があるSFTPサーバー上のファイルがあります。これらの条件が満たされない限り、このファイルはインポートされていないサーバー上に残りますが、変更日が更新されるため、この日付はインポートプログラムによってファイルがチェックされた時刻よりも常に大きくなるようにしてください。paramiko - SFTPサーバー上のファイルの修正日を自動的に更新する方法はありますか?

パッケージのdocumentationを読みましたが、これを行う機能が見つかりませんでした。

答えて

2

utime methodがあります:

pathで指定されたファイルのアクセス時刻および最終修正時刻を設定
utime(path, times) 

timesNoneの場合、ファイルのアクセス時刻と変更時刻は現在の時刻に設定されます。それ以外の場合は、timesは、アクセスと変更時刻をそれぞれ設定するために使用される(atime, mtime)という形式の2タプルの数字でなければなりません。

0

これは、SFTPからローカルホストにファイルをコピーし、SFTPからファイルを削除してSFTPに再度コピーすることで行うことができます。

ので、

  1. get(remotepath, localpath, callback=None)
  2. remove(path)
  3. put(localpath, remotepath, callback=None, confirm=True)

誰もが別のアイデアを持っている場合は、あなたの知識を共有してください!

+1

私は恐れます。プログラムの途中でプログラムやサーバ、ネットワークに障害が発生した場合は、ファイルを強制終了したり、内容を切り捨てたり破損したりすることもあります。 – Ellioh

+0

あなたは正しいです、ありがとう! –

+0

paramikoは追加のためにファイルを開くことができます(私の答えを見てください)。私はほぼ助けになると確信しています。 – Ellioh

0

ファイルを追加モード( "a")で開いてすぐに閉じてみます。

関連する問題