為了讓使用者可以選擇特定衣物,我們設計使用者在App介面選擇衣物後,會將被選擇衣物(0、1、2、3對應第一件衣服、第二件衣服...)的號碼儲存在return.txt,並透過FTP將return.txt、使用者輸入的正面照 傳至伺服器上,以便伺服器上的ACGPN知道該生成哪一件衣物。
再來是驅動python運作的部分,因為使用FTP無法從windows直接命令伺服器的python運作,故寫以下程式。
因為FTP將return.txt傳進來後,會直接覆蓋原先的return.txt,讓ACGPN知道該生成的衣物,故只要抓取return.txt的建立時間即可,每秒都將建立時間記錄在log.txt內,如果這一次的建立時間與上一次的建立時間不同,就表示有使用者將照片及衣服的號碼傳進來伺服器,就會運作 python run.py。
並且每100秒就會清除log.txt的內容,避免使用過多的空間。
import time
import os
logname='/users/cbf107/cbf107020/ACGPN-master/log.txt'
FileName='/users/cbf107/cbf107020/ACGPN-master/return.txt'
sum=0
while(1):
f=open(logname,'a+')
if sum==100:
f.seek(0)
f.truncate(0)
sum=0
f.write(time.strftime('%m-%d %H:%M:%S',time.localtime(os.stat(FileName).st_ctime))+'\n')
sum+=1
print(f'write {sum} : {time.strftime("%m-%d %H:%M:%S",time.localtime(os.stat(FileName).st_ctime))}')
f.seek(0)
txt = f.readlines()
if len(txt)>2:
if txt[-1] != txt [-2]:
os.system('python run.py')
f.close()
time.sleep(1)