2014-02-14 109 views
0

這個非常奇怪的問題,我的代碼工作正常,在我的機器上(Linux Mint的),但它顯示的錯誤在我的服務器os.listdir的路徑包含空白

這裏的代碼 - 注意,我讓abspath甚至是沒有它在我的機器中工作正常!

def GET_Contents(filepath): 
    return os.listdir(os.path.abspath(os.path.join('files', filepath.strip()))) 

這裏的給定異常 return os.listdir(os.path.abspath(os.path.join('files', filepath.strip()))) OSError: [Errno 2] No such file or directory: '/home/hamoud/webapps/FileManager/files/EE201/MID 1'

與包含空格的文件夾只出現問題(如MID 1

回答

1

空間的罰款,並在Windows路徑允許了。

您需要驗證您的工作目錄是否正確(因爲使用相對路徑,os.path.abspath()將基於當前工作目錄的絕對路徑)。

如果基準路徑是正確的,檢查確實有 a MID 1在該位置的目錄。也許首先檢查父母目錄,然後首先查看os.listdir(os.path.abspath('files'))的真實位置。

+0

但是,產生MID1而不是MID 1,那麼它不存在的另一個文件 – Hamoudaq

+0

@EngHamoud:那麼你不清楚你在問什麼。 *然後存在哪個文件夾? –

+0

@EngHamoud:注意'os.path.abspath()'產生的完整路徑;你給它一個相對路徑('files/EE201/MID 1'),所以Python使它成爲相對於當前工作目錄的完整路徑。如果你的文件在其他地方居住*你需要給它正確的絕對路徑。 –