Я знаю, что это поздний ответ, но я надеюсь помочь любому, у кого есть эта проблема. Я получал ту же ошибку и обнаружил, что мне пришлось вставить /
перед моим файловым путем. Тогда исправленный вызов функции будет следующим:
FXMLLoader myLoader = new FXMLLoader(getClass().getResource("/createCategory.fxml"));
// ^
Это сообщение об ошибке означает, что вы пытаетесь использовать Python 3, чтобы следовать примеру или запускать программу, которая использует оператор Python 2 print
:
print "Hello, World!"
Вышеприведенное утверждение не работает в Python 3. В Python 3 вам нужно добавить круглые скобки вокруг значения, которое будет напечатано:
print("Hello, World!")
"SyntaxError: Отсутствие круглых скобок при вызове ' print '" - новое сообщение об ошибке, которое было добавлено в Python 3.4.2, в первую очередь, чтобы помочь пользователям, которые пытаются следовать учебнику Python 2 при запуске Python 3.
В Python 3, печать значения изменялись от того, чтобы быть отдельным заявлением как обычный вызов функции, поэтому теперь ему нужны скобки:
>>> print("Hello, World!")
Hello, World!
В более ранних версиях Python 3 интерпретатор просто сообщает об общей синтаксической ошибке, не предоставляя никаких полезных подсказки относительно того, что может пойти не так:
>>> print "Hello, World!"
File "<stdin>", line 1
print "Hello, World!"
^
SyntaxError: invalid syntax
Что касается , почему print
стал обычной функцией в Python 3, которая не касалась основной формы заявление, а скорее о том, как вы это сделали re сложными вещами, такими как печать нескольких элементов в stderr с конечным пространством, а не заканчивание строки.
В Python 2:
>>> import sys
>>> print >> sys.stderr, 1, 2, 3,; print >> sys.stderr, 4, 5, 6
1 2 3 4 5 6
В Python 3:
>>> import sys
>>> print(1, 2, 3, file=sys.stderr, end=" "); print(4, 5, 6, file=sys.stderr)
1 2 3 4 5 6
Начиная с выпуска Python 3.6.3 в сентябре 2017 года некоторые сообщения об ошибках, связанные с синтаксисом печати Python 2.x, были обновлены, чтобы рекомендовать их Python 3.x:
>>> print "Hello!"
File "<stdin>", line 1
print "Hello!"
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello!")?
Это означает, Тем не менее, в настоящее время он не пытается выработать соответствующие кавычки для размещения вокруг этого выражения (это не невозможно, достаточно сложное, чтобы оно не было выполнено). TypeError
поднят для правый сдвиговый оператор также был настроен:
>>> print >> sys.stderr
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'. Did you mean "print(<message>, file=<output_stream>)"?
Поскольку эта ошибка возникает при запуске кода, а не при компиляции, она не имеет доступа к исходному исходному коду и, следовательно, использует мета-переменные (<message>
и <output_stream>
) в предлагаемом замещающем выражении вместо того, что на самом деле набирается пользователем. В отличие от случая с синтаксической ошибкой, прямое размещение кавычек вокруг выражения Python в сообщении об ошибке пользовательского сдвига вправо.
Вне прямых ответов здесь следует отметить другое ключевое различие между python 2 и 3. Официальная версия python wiki затрагивает почти все основные отличия и фокусируется на том, когда вы должны использовать либо версий. Это сообщение в блоге также прекрасно описывает объяснение текущей вселенной python и как-то нераскрытую загадку перехода на python 3.
Насколько я могу судить, вы начинаете изучите язык python. Вы должны рассмотреть вышеупомянутые статьи, прежде чем продолжить путь python 3. Вам не только придется изменить какой-то из ваших синтаксисов, вам также нужно будет подумать о том, какие пакеты будут доступны вам (преимущество python 2) и потенциальные оптимизации, которые могут быть сделаны в вашем коде (преимущество python 3) .
Изменяется синтаксис с Python 2 на Python 3. В Python 2,
print "Hello, World!" will work but
В Python 3 используйте фигурные скобки как
print("Hello, World!")
Это эквивалентно синтаксис для Scala и рядом с Java.