Моя функция находится внутри файла .py с тем же именем, что и функция:
emp@emp:~$ python ~/Dropbox/emp/Python/stromkosten_pro_jahr.pyempedokles@empedokles:~$ stromkosten_pro_jahr(20,3)
bash: Syntaxfehler beim unerwarteten Wort »20,3«
emp@emp:~$
Где ошибка?
Вам нужно к cd
в каталог, где Ваш файл Python расположен, и затем вызовите Python интерактивная оболочка, чтобы быть в состоянии назвать и выполнить функции в интерактивном режиме.
# cd to the directory
$ cd ~/Dropbox/emp/Python/
# invoke the python interactive shell
$ python # use `python3` to invoke the Python3 shell
Python интерактивная оболочка посмотрела бы что-то как:
Python 2.7.6 (default, Mar 22 2014, 22:59:38)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Здесь можно импортировать модуль (*.py файл) и выполнить функции, записанные туда:
>>> from stromkosten_pro_jahr import stromkosten_pro_jahr
>>> stromkosten_pro_jahr(20,3)
[The output of function would be shown right here]
Для получения дополнительной информации, я предложил бы пройти Учебное руководство .
PythonВы не можете вызвать функции Python непосредственно от оболочки Bash. Вы получаете эту конкретную ошибку, потому что удар анализирует Ваши аргументы (20,3) как так:
$ echo (20,3)
bash: syntax error near unexpected token `20,3'
Для передачи скобок как строки, необходимо выйти из них:
$ echo \(20,3\) '(1,2)'
(20,3) (1,2)
Но это все еще не будет волшебно работать как код Python - необходимо будет проанализировать параметры командной строки в программе Python (сохраните как x.py):
import sys
def fn(a,b):
print a+b
eval(sys.argv[1])
Затем:
$ python x.py 'fn(0,13)'
13
Когда я нашел в этом ответ , можно работать python
функция непосредственно от bash
как:
$ python -c 'from a import stromkosten_pro_jahr; stromkosten_pro_jahr(20,3)'
, Где a
Ваше имя файла/модуля (a.py
).
, Но важная вещь должен быть в том же каталоге, как Ваш файл.