как правильно передать буквенные строки кода Python, который будет выполнен с помощью Python -c - PullRequest
1 голос
/ 19 февраля 2011

Мне нужна помощь, чтобы понять, как выполнить этот код Python из python -c. У меня проблемы с форматированием Python, чтобы он выполнялся для другого приложения в cmd. Я понимаю, что, возможно, есть другие способы сделать то, что я делаю, но яограничено окончательным выполнением с использованием cmd 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))

Но я пытаюсь извинить его, используя следующееметод, python -c "print 'hotdogs'"

Так вот, что у меня есть, но без работы

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 Ответ

2 голосов
/ 19 февраля 2011

Если вам действительно нужно сделать хак в одну строку (это совершенно не рекомендуется или потворствовать), тогда вы можете сделать это

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

Что кажется намного лучше, верно?

...