ubuntu импорт файла из той же директории

david@david-ThinkPad-E480:~/Desktop/postgresql$ ll
total 16
drwxrwxr-x 2 david david 4096 сен  2 12:43 ./
drwxr-xr-x 7 david david 4096 сен  2 12:23 ../
-rw-rw-r-- 1 david david    0 сен  2 12:30 __init__.py
-rw-rw-r-- 1 david david   42 сен  2 12:43 p1
-rw-rw-r-- 1 david david   56 сен  2 12:43 p2
david@david-ThinkPad-E480:~/Desktop/postgresql$ cat p1
import random
import p2


input(p2.foo())
david@david-ThinkPad-E480:~/Desktop/postgresql$ cat p2
def foo():
    input(3)
    return random.randint(1, 5)
david@david-ThinkPad-E480:~/Desktop/postgresql$ python3 p1
Traceback (most recent call last):
  File "p1", line 2, in <module>
    import p2
ModuleNotFoundError: No module named 'p2'
david@david-ThinkPad-E480:~/Desktop/postgresql$ 

Даже добавить нечего


Ответы (2 шт):

Автор решения: CrazyElf

А разве у файлов p1 и p2 не должно быть расширений .py?

Запустить, передав файл прямо интерпретатору питона, вы можете файл с любым расширением или без него, а вот импортировать файл без расширения .py вы не сможете, питон его просто не найдёт.

Так что переименуйте файлы в p1.py и p2.py.

→ Ссылка
Автор решения: eri

Добавьте расширение к файлу p2 (а лучше к обоим) .py, .pyw или .pyc. Ещё можно импортировать .pyd (скомпилированный си код) и .pyz (код в зип архиве)

→ Ссылка