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 t开发者_运维百科o 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 +'"'
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?
Powershell guidelines for using python -c
- enclose the whole code section in
"
- so that you evaluate PowerShell special characters within (for newlines and tabs) - use
'
for quotes within the code section - use
`n
as line separators - use
`t
as tab character essential for python indentation
Example: minify json oneliner
- that takes
foo.json
as an input and prints it minified version to the console
python -c "import json`nimport sys`nwith open(sys.argv[1], 'r') as f:`n`tprint(json.dumps(json.load(f), separators=(',',':')))" foo.json
- adopted from Minifying JSON with Python · Jamie Tanna
精彩评论