2011-02-19 27 views
1

我需要一些幫助來搞清楚如何從python執行python代碼-c 我有麻煩格式化python以便它會執行另一個應用程序cmd 我知道可能還有其他方法可以做我正在做的事情,但我受限於使用cmd python -c的最終執行方式,所以請記住這一點。如何正確傳遞字符串python代碼使用python執行-c

所以我有一些Python代碼即

import os 
import shutil 

myPath =r"C:\dingdongz" 
for root, dirs, files in os.walk(myPath): 
    for file in files: 
     os.remove(os.path(root, file)) 
    for dir in dirs: 
     shutil.rmtree(os.path.join(root,dir)) 

但我嘗試使用下面的方法EXCUTE它,蟒蛇-c「打印‘熱狗’」

所以這個我有什麼,但沒有worky

cmdline = "\" import os, shutil \n for root, dirs, files in os.walk("+myPath+"):\n \t for file in files: \n \t \t os.remove(os.path.join(root, file)) \n \t for dir in dirs: \n \t\t shutil.rmtree(os.path.join(root, dir))" 

Windows CMD 
python -c "+ cmdline +'"' 

回答

2

如果你真的需要做一行黑客(這是完全不建議或允許),那麼你可以做到這一點

python -c "import os; import shutil; for root, dirs, files in os.walk('+myPath+'): for file in files: os.remove(os.path.join(root, file)); for dir in dirs: shutil.rmtree(os.path.join(root, dir))" 

但你應該真的是讓這個腳本是你的windows路徑下的,那麼你可以做

python myfancyscript.py 

這似乎更好了很多吧?

+0

謝謝你的回覆,但正如我上面所說,我受限於最終交付的代碼。 python被一個服務器調用,它無法訪問我創建的任何python腳本,即「myfancyscript.py」我嘗試運行上述解決方案,但我仍然收到錯誤樹(os.path.join(root,dir )) ^ SyntaxError:語法無效 – user623995 2011-02-22 14:53:16

相關問題