Найти - Пользователи
Полная версия: Не могу из python скрипта вызвать другой python скрипт c ключами.
Начало » Python для новичков » Не могу из python скрипта вызвать другой python скрипт c ключами.
1 2
papuas
Скрипты лежат в одной папке - test.py test2.py
Нужно из test.py вызвать и исполнить test2.py и продолжить выполнять test.py дальше.

#!/usr/bin/env python.
# -*- coding: utf-8 -*-
from os import system
from sys import argv
system('test2.py --q='2' --w='15' --from='qwe@qwe.com' --to='qaz@qaz.com'')

File "./test.py", line 5
system('test2.py --q='2' --w='15' --from='qwe@qwe.com' --to='qaz@qaz.com'')
SyntaxError: invalid syntax
проблема с версией синтаксиса ?

Пробовал так:
me = 'test2.py --q='2' --w='15' --from='qwe@qwe.com' --to='qaz@qaz.com''
import subprocess
PIPE = subprocess.PIPE
p = subprocess.Popen(me, shell = True)
p.wait()

>>> import sys
>>> sys.version
'2.6.6 (r266:84292, Jan 22 2014, 09:42:36)
просьба не пинать, 2й день изучаю.
JOHN_16
кавычки же
>>> 'test2.py --q='2' --w='15' --from='qwe@qwe.com' --to='qaz@qaz.com''
  File "<stdin>", line 1
    'test2.py --q='2' --w='15' --from='qwe@qwe.com' --to='qaz@qaz.com''
                   ^
SyntaxError: invalid syntax
>>> 'test2.py --q="2" --w="15" --from="qwe@qwe.com" --to="qaz@qaz.com"'
'test2.py --q="2" --w="15" --from="qwe@qwe.com" --to="qaz@qaz.com"'
papuas
JOHN_16
кавычки же
за кавычки спасибо, но test.py доходит до момента исполнения test2.py
и выдает: sh: test2.py: command not found
если запустить test2.py отдельно с ключами выполняется.
JOHN_16
нужно либо явно указать интерпретатор
'python test2.py --q="2" --w="15" --from="qwe@qwe.com" --to="qaz@qaz.com"'
при этом путь до исполняемого файла должен быть прописан в системе ( в случае униск систем это и так сделано)
Либо В случае уникс систем надо указывать путь до файла, а если он в текущий директории, то все по правилам UNIX, так:
'./test2.py --q="2" --w="15" --from="qwe@qwe.com" --to="qaz@qaz.com"'
при этом в шапке Python файла должен быть указан путь до интерпретатора (у вас это сделано, только уберите точку в конце строки)
papuas
JOHN_16
нужно либо явно указать интерпретатор
'python test2.py –q=“2” –w=“15” –from=“qwe@qwe.com” –to=“qaz@qaz.com”'

ага, уже догадался вчера, отписать забыл.
Все работает, респект.
papuas
JOHN_16
'python test2.py –q=“2” –w=“15” –from=“qwe@qwe.com” –to=“qaz@qaz.com”'
еще такой вопрос: как указать в –q=“переменная”
чтобы вставлять текущую дату и время.

from datetime import datetime
i = datetime.now()
print i.strftime('%Y/%m/%d %H:%M:%S')
JOHN_16
papuas
Вам нужен format
print ‘this is dt: {:%Y/%m/%d %H:%M:%S}’.format(datetime.datetime.now())
papuas
# python ./test.py
  File "./test.py", line 6
    print ‘this is dt: {:%Y/%m/%d %H:%M:%S}’.format(datetime.datetime.now())
          ^

а так работает
from datetime import datetime
i = datetime.now()
print i.strftime('%Y/%m/%d %H:%M:%S')
# python ./test.py
2015/06/21 18:47:37

или я не так понял… в test.py уже есть
from datetime import datetime
import time
dt = datetime.strptime(data.attrib['upd'], '%Y-%m-%dT%H:%M:%S')
JOHN_16
papuas
вам же интерпретатор указывает на ошибку, смотри внимательно и думайте головой. Кавычка не такая.
Вот вам страница из документации
Python 2.7.8 (default, Sep 30 2014, 15:34:38) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> print 'this is dt: {:%Y/%m/%d %H:%M:%S}'.format(datetime.datetime.now())
this is dt: 2015/06/22 00:08:18
papuas
JOHN_16
вам же интерпретатор указывает на ошибку, смотри внимательно и думайте головой. Кавычка не такая.
Вот вам страница из документации
Python 2.7.8 (default, Sep 30 2014, 15:34:38) on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import datetime
>>> print ‘this is dt: {:%Y/%m/%d %H:%M:%S}’.format(datetime.datetime.now())
this is dt: 2015/06/22 00:08:18
Может я плохо объяснил…
как вывести время на python я знаю.
papuas
from datetime import datetime
i = datetime.now()
print i.strftime('%Y/%m/%d %H:%M:%S')
# python ./test.py
2015/06/21 18:47:37
а вот как его указать сюда в момент отправки письма ‘python test2.py –q=“ДАТА/ВРЕМЯ/NOW” –w=“15” –from=“qwe@qwe.com” –to=“qaz@qaz.com”
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