how to properly pass literal strings python code to be excuted using python -c

不羁的心 提交于 2020-04-30 06:12:29

问题


I need some help figuring out how to execute this python code from python -c I am have trouble formatting python so that it will execute for another app in cmd I understand there maybe other ways to do what I am doing but I am limited by the final execution using cmd python -c so please keep this in mind.

So I have some python code ie,

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))

But I am trying to excute it using the following method, python -c "print 'hotdogs'"

So this what i have but no 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 +'"'

回答1:


If you really really need to do a one line hack (this is totally not suggested or condoned) then you can do this

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))"

But what you should really do is make this a script that is inside your windows path, then you can do

python myfancyscript.py

Which seems a lot nicer right?



来源:https://stackoverflow.com/questions/5048375/how-to-properly-pass-literal-strings-python-code-to-be-excuted-using-python-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!