필자의 주된 목표는 FTP 서버를 언제든지 확인하여 새로운 파일이 생성되면 그곳에 복사 된 새로운 파일 만있는 .txt 파일을 생성하는 것입니다. 새 파일이 없으면 아무것도 반환하지 않습니다. 여기까지 내가 지금까지 가지고있는 것이있다. 서버에서 oldlist.txt로 파일을 복사 한 다음 FTP 사이트에 연결하고 newlist.txt와 oldlist.txt의 데이터를 비교하고 임시 FTP 파일 changes.txt에서 원하는 차이점을 비교하여 시작했습니다. 연결할 때마다 newlist.txt가 변경되어 oldlist.txt가되어 다음에 연결할 때 비교할 수 있습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? 내 목록은 매번 데이터를 변경하지 않는 것 같습니다. 죄송합니다. 혼란스러워서 고마워요.FTP와리스트를 이용한 파이썬 프로그래밍
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
Raymond는 코드가 훌륭하게 작동하는 것 같습니다. 하지만 인쇄 라인 코드를 바꿔서 텍스트 파일에 복사하여 다른 프로세스를 시작할 수 있습니다. 도와 줘서 고마워. – user1005974