Python синтаксическая ошибка в windows подсистеме Ubuntu - PullRequest
1 голос
/ 19 марта 2020

Ладно, это странная ошибка, которую я могу описать, поэтому терпите меня.

В настоящее время я работаю над заданием, которое требует от меня использования модуля Python os для тестирования Linux процессов.

Так как мой ноутбук работает windows 10 и все мои Linux виртуальные машины чудесным образом перестали загружаться, я попытался использовать S SH на linux машине и подсистему Ubuntu на моей собственной машине, чтобы запустить это блок кода:

    import os
    pid = os.fork()
    if pid == 0: # the child
        print("this is the child")

Вот снимок экрана с ошибкой, возникающей в подсистеме linux: (То же самое проявляется для S SH)

error screenshot

Теперь интересно то, что после того, как я набрал вторую строку, оператор 'if' автоматически ставится с двойным '>>> >>>', и мне приходится нажимать каждую клавишу несколько раз, прежде чем она отобразится в консоли .

Любой совет будет полезен в отношении того, что может вызвать это.

1 Ответ

1 голос
/ 19 марта 2020

Это не сработает с интерактивным интерпретатором Python.

Как вы заметили, когда вы выполняете os.fork(), вы запускаете сам интерактивный интерпретатор , поэтому вы получаете два >>> приглашения, и ввод выглядит искаженным, вероятно, связанным с обоими интерпретаторами, пытающимися получить ввод одновременно.

Этот должен работать из файла сценария, выполненного без использования интерактивная среда.

...