Форум сайта python.su
При написании скриптика возникла такая проблемка:
есть некий скриптик my.py из него подключаю модуль mod.py в модуле есть функция которая получает параметром имя файла который надо завпустить
def run_file(path_file):
os.startfile(file)
os.system(file)
os.popen(file)
os.execv(program,args)
process = subprocess.Popen(file, shell=True)
Офлайн
mod.py
def run_file(fname):
import os
os.system(fname)
import sys
import mod
mod.run_file(sys.argv[1])
[guest@station tmp]$ python3 m.py "echo x"
x
[guest@station tmp]$
Офлайн
[guest@station tmp]$ python3 m.py "list.html"
sh: list.html: команда не найдена
[guest@station tmp]$ python3 m.py "firefox list.html"
Офлайн
XgreshnikX
Скрипт вызивается интернет страницей.
[root@station cgi-bin]# cat t.cgi
#!/usr/bin/env /usr/local/bin/python3
import mod
print("Conent-type: text/html\n")
print("Hello")
[root@station cgi-bin]#
[root@station cgi-bin]# cat mod.py
import os
os.system("echo x > /tmp/xvalue")
[root@station cgi-bin]#
Офлайн
Немного не понял решение)). Скрипты под виндой. на "“ ругается что не правильный синтаксис.
в my.py есть функция parse, на нее передаю параметр fileField (содержащий в себе имя файла)с помощью формы:
<form action=”./my.py/parse“ method=”GET“ enctype=”multipart/form-data“ name=”form1“ id=”form1“>
<input name=”fileField“ type=”file“ id=”fileField“ value=”“ />
<input type=”submit“ name=”button“ id=”button“ value=”Ок“ /></form>
my.py вот такой:
import mod_doc
def parse(fileField):
path = ”h:\\p\\“ + fileField
mod_doc.run_file(path); \\ловит имя и передает путь правильно
mod.py:
def run_file(path_file):
import subprocess,os,time
#os.startfile(”h:\\p\\t8.docx.html")
os.system(path_file) \\вот собствено ета строчка не запускает файл , путь которого ей передан.
В чем ошибка?
Офлайн
def run_file(path_file):
import os
cmd = "firefox" + " " + path_file
os.system(cmd)
XgreshnikXчтобы узнать какое имя есть, а какого нет
если подключать модуль просто в интерпретаторе, то без проблем запускается нужное приложение
>>> import os
>>> 'system' in dir(os)
True
>>> 'startfile' in dir(os)
False
>>>
import os
os.system("h:\\p\\t8.docx.html")
Офлайн
да, проверил, запускается страница в браузере по умолчанию
приложение можно не указывать
Офлайн
<form action=
это пока не проверял
Офлайн
у меня в браузере под виндой не запускается, а просто выводит содержимое скрипта
размести скрипт на сервере
Офлайн
Так дело в том что все работает помимо етого, скрипт на сервере лежит и из него вызиваются функции, я уж с етим работаю а вот дошло дело во визова из функции приложения, так тут все )) Уже перепробовал все методы которые только нашел ,но упорно не хочет(((
Офлайн