私の主な目標は、いつでも新しいファイルが見つかるようにFTPサーバーをチェックし、そこでコピーされた新しいファイルだけを含む.txtファイルを生成することです。新しいファイルがない場合は何も返しません。ここまで私がこれまで持っていたことがあります。私は、サーバーからoldlist.txtにファイルをコピーし、次にFTPサイトに接続し、newlist.txtとoldlist.txtのデータと、一時的なFTPファイルのchanges.txtで差異を比較することから始めました。接続するたびにnewlist.txtを変更してoldlist.txtにして、次回の接続時と比較できるようにします。これを行うより良い方法はありますか?私のリストは毎回データを変更しないようです。これは混乱のおかげで申し訳ありません。FTPとリストを使用したPythonプログラミング
import os
filename = "oldlist.txt"
testing = "newlist.txt"
tempfilename = "Temporary FTP file Changes.txt"
old = open(filename, "r")
oldlist = old.readlines()
oldlist.sort()
from ftplib import FTP
ftp = FTP("ftpsite", "username", "password")
ftp.set_pasv(False)
newlist = []
ftp.dir(newlist.append)
newlist.sort()
ftp.close()
bob = open(testing, "w")
for nl in newlist:
bob.write(nl + "\n")
hello = open(tempfilename, "w")
for c in newlist:
if c not in oldlist:
hello.write(c + "\n")
bob.close()
old.close()
hello.close()
os.remove("oldlist.txt")
os.rename("newlist.txt", "oldlist.txt")
oldlist.txtファイルを作成するのではなく、新しいリストをモジュールと比較して変更をファイルに出力できる場所に保管しておきます。申し訳ありませんが、私は非常に新しいですが正しくない場合。また、例を示すこともできますか?あなたの助けをありがとう!また、そのコードを実行すると、私に教えてくれただけで、ftpサーバからリスト全体が表示されます。もしあれば、変更が必要です。 – user1005974
raymondの例に感謝します。私は現時点でこれを試し、それがどうなってくるのか見てみましょう。ありがとうございました。 – user1005974
レイモンドあなたのコードはすごくうまくいくようです。しかし、私は印刷ラインコードをスワップし、テキストファイルにコピーして、別のプロセスを開始することができます。ご協力ありがとうございました。 – user1005974