2013-03-19 78 views
0

我在將客戶端到服務器端的數據寫入.xls,.php或.doc文件時出現問題。這裏是我的服務器端代碼無法使用Python寫入xls,php或doc文件

amtOfFilesHeader = "" 
while True: 
    d = connectionSocket.recv(1) 
    if d == '\n': 
     break 
    amtOfFilesHeader += d 
amtOfFiles = int(amtOfFilesHeader.split()[-1]) 
while amtOfFiles > 0: 
    header = "" 
    while True: 
     d = connectionSocket.recv(1) 
     if d == '\n': 
      break 
     header += d 

    filesize = int(header.split()[-1]) 
    # or search for the last space in header 
    # and get a substring of header as filename 
    filename = "".join(header.split()[1:-1]) 
    data = "" 
    while filesize > 0: 
     chunk = connectionSocket.recv(1) # or any amount of data 
     filesize -= len(chunk) 
     data += chunk 
    file = open((server_side_folder+'/'+filename),'wb') 
    file.write(data) 
    file.close() 
    amtOfFiles-=1 

我不斷收到錯誤,如:

IOError: [Errno 2] No such file or directory: 'server_side/test.xls' 

雖然我已經打開文件進行寫入。我在代碼中做錯了什麼?

+0

該文件是否與腳本位於相同的目錄中? – Ifthikhan 2013-03-19 12:26:50

+1

使用絕對路徑;你當前的目錄不是你想象的那樣。確保'server_side'文件夾*也存在*。 – 2013-03-19 12:40:01

+0

打開'open'之前,打印或記錄以下信息:'os.path.abspath(server_side_folder +'/'+ filename)'。 – 2013-03-19 12:46:09

回答

0

我設法找到錯誤在哪裏。事實證明,我的服務器和客戶端線程的超時時間太短。在增加超時之後,我可以讀取.xls,.php和.php文件。