Как выполнить скрипт из командной строки в Python - PullRequest
0 голосов
/ 18 августа 2011

У меня есть команда mysql dump, которую я хотел бы запустить из оболочки Windows или из командной строки.Я использовал оболочку, она работает.

  d= 'BkSql_'+datetime.datetime.now().strftime("%Y-%m-%d")+".sql"
  fn = dn+d    
  cmd="""mysqldump -u hapopdy -p   > %s""" %fn
  print cmd

Редактировать ::::::: -p должен быть необработанным вводом.

Ответы [ 2 ]

5 голосов
/ 18 августа 2011

Использование подпроцесса

import subprocess
subprocess.call(cmd)

Если вы запускаете команду оболочки, добавьте shell=True

subprocess.call(cmd, shell=True)
0 голосов
/ 18 августа 2011

Вы должны сохранить пароль в локальном файле конфигурации mysql для пользователя (в Unix это ~ / .my.cnf) или вы можете указать его в командной строке с помощью --password=MYPASSWORD.

В любом случае пароль будет виден большой аудитории.В случае .my.cnf он будет виден любому, у кого есть доступ для чтения к файлу.Во втором случае он будет виден всем, кто может получить список процессов в системе, в дополнение к тем, кто имеет доступ для чтения к вашему сценарию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...