2012-12-27 104 views
0

我有以下代碼作爲代碼的一部分,它嘗試創建一個文件夾,如果它不存在,我看到用directoryname創建的文件夾爲「AYH9P4〜H」,它應該是創建無論是在文本文件「data_file.txt」,這是「AU_1.2.333」,爲什麼它與文件夾名稱「AYH9P4〜H」創建的任何輸入,BTW,在Linux機器上運行此腳本創建一個奇怪的文件夾名稱的目錄名稱

import os 

def getAU (aufilename): 
    file = open(aufilename,'r') 
    return file.read() 

def main(): 
    aufilename="data_file.txt" 
    #ROOT_DIR - The reference android build used to make the builds 
    AU=getAU(aufilename) 
    if (os.path.isdir("/local/mnt/workspace/builds/" + AU)): 
     print "Direcotry local/mnt/workspace/builds/" + AU + "exists" 
    else: 
     print "Directory doesnt exist,creating directory" + AU + "now" 
     os.chdir("/local/mnt/workspace/builds") 
     os.makedirs(AU) 
    ROOT_DIR= "/local/mnt/workspace/builds/" + AU 
    print "ROOT_DIR" 
    print ROOT_DIR 

if __name__ == '__main__': 
    main() 

回答

2

我最好的猜測是,file.read()實際上會返回包括換行符和其他可能的字符在內的所有內容。在任何情況下,您都需要清理file.read()的輸出。

其他的想法是,如果你想在不支持多個擴展名的文件系統上創建一個這樣的文件夾(在名稱中有多個點),它也會被凍結。

+0

在file.read末尾使用.strip()會有幫助嗎? – user1927233

+0

那麼,你可以用strip()來開始。但是你假定data_file.txt將總是包含一行。如果它會有多個呢? – favoretti

相關問題