Найти - Пользователи
Полная версия: как написать красиво subprocess.Popen(['cmd', 'cmd', '/C ', command]..
Начало » Python для экспертов » как написать красиво subprocess.Popen(['cmd', 'cmd', '/C ', command]..
1
qman
Уважаемые гуру питона
прочитав http://python.com.ua/forum/viewtopic.php?id=1437 написал процедуру

def func(command):
stdOutErr = subprocess.Popen(, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd='.\\').stdout
lines = stdOutErr.readlines()
for line in lines: print line


вызываю ее так
tmp_file='query.sql'
command = ‘osql.exe -E -i ’
func(command+tmp_file)
но вызов func(command+tmp_file) выдает ошибку так как command+tmp_file содержит пробелы. Как красиво переделать процедуру чтобы вызов Popen() содержал аргументы без пробелов? чтобы получить список аргументов для команды? пробовал
s = command+tmp_file
s.splite(' ‘)
но s.splite(’ ') не работает для пробела. Как сделать функцию
def func(command):
для команды osql.exe консоли?

P.S. мне нужно запустить osql.exe утилиту , скормить ей файл с sql запросом и получить выводимый текст с консоли
Спасибо всем принявшим участие.
bialix
shlex.split
учтите только, что этот модуль не понимает юникодных строк.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB