我有一個啓動並運行的Python網絡服務器,它會將文件正確地輸出到我的目錄中,但我無法弄清楚如何追加到已存在的文件或追加時間戳到文件。Python網絡服務器文件輸出
問題是如果文件已經存在,它將覆蓋它而不是創建一個新文件。所以我想要麼:
- 追加日期和時間戳的文件名或
- 新的數據只是附加到現有的文件。
此外,它可能會很方便讓它自動檢測服務器IP地址。
import BaseHTTPServer, os, cgi
import cgitb; cgitb.enable()
import time
import datetime
timeStamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
print timeStamp
class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header("content-type", "text/html;charset=utf-8")
self.end_headers()
self.wfile.write("Upload Complete")
def do_POST(self):
print self.headers
form = cgi.FieldStorage(fp = self.rfile)
ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
length = cgi.parse_header(self.headers.getheader('Content-Length'))
print length[0]
if ctype == 'application/x-www-form-urlencoded':
qs = self.rfile.read(int(length[0]))
fout = file(os.path.join('/Inet', 'video.mov'), 'wb')
fout.write (qs)
fout.close()
self.do_GET()
if __name__ == '__main__':
server = BaseHTTPServer.HTTPServer(("192.168.1.10", 8000), Handler)
print('web server on 8000..')
server.serve_forever()
使用'開放的(...)'文件和使用''a''追加。 – Daniel
我試過,但我無法得到正確的語法由於某種原因。 – turtle02