LinuxForum.Fans
Тема

Вопрос по открытию файла в командной строке

Автор: Vladimir1956 20 сообщений 1745 просмотров
12.09.2020 11:58 #435257

Добрый день!

У меня такой вопрос: как открыть файл с расширением py в командной строке? До нужного каталога я дошёл, а вот ввожу название файла и он пишет, что команда не найдена %)

12.09.2020 12:18 #435258
"Vladimir1956" написал:
ввожу название файла и он пишет, что команда не найдена

Если каталога нет в переменной окружения PATH, надо вводить полное имя

text
<путь к файлу>/<имя файла>
12.09.2020 12:54 #435259

До каталога, то есть до папки я дошёл, но ввожу имя файла, он пишет команда не найдена.
Вот как это выглядит: :~/Python1956$ \56.ру 56.ру: команда не найдена
Python1956 - это папка, в которой хранится файл 56.ру
До папки я путь проложил, а файл открыть не могу. Отдельно от командной строки всё нормально открывается. Просто я пишу примеры в Sublime Texst, и хочу, чтобы написанный код отображался в командной строке. А для этого надо открыть файл. Вот как то так. %)

12.09.2020 13:51 · отредактировано #435260
"Vladimir1956" написал:
~/Python1956$ \56.ру

А что означает символ "\" в вашей командной строке?
Я бы написал так:

text
~/Python1956$/56.ру

Добавлено
Кроме того обратите внимание: в первой строчке файла 56.py должно быть что-то вроде:

text
#!/usr/bin/python3

Так указывается путь и интерпретатору python'а который должен выполнять этот файл.

12.09.2020 14:07 · отредактировано #435261

Открытие файла из текущего каталога в консоли.
(Если пользователь имеет право запуска)
./<имя файла с расширением> - (точка слэш имя файла с расширением)

12.09.2020 14:29 · отредактировано #435262

Вот что конкретно пишет:

vladimir1956@vladimir1956-Satellite-A665:~/Python1956$ ./12_09.py
bash: ./12_09.py: Отказано в доступе
vladimir1956@vladimir1956-Satellite-A665:~/Python1956$

Python1956 - это папка в которой содержатся файлы с расширением py.

12.09.2020 14:42 #435263
"Vladimir1956" написал:
bash: ./12_09.py: Отказано в доступе

Похоже что-то с правами на файл 12_09.py
Дайте вывод команды
[console]ls - l[/console]
Пользователь должен иметь право чтения и исполнения на файлы *.py

12.09.2020 15:09 #435264

Я тут покапался и нашёл, что у меня нет прав на исполнение в этих файлах с расширением py. Там нужна комбинация rwx, a у меня только rw. Поэтому ине могу открыть. Хотелось бы узнать, как эти права добавить.

vladimir1956@vladimir1956-Satellite-A665:~/Python1956$ ls -l
итого 16
-rw-rw-rw- 1 vladimir1956 vladimir1956 539 сен 4 12:06 04.09.2020.py
-rw-rw-rw- 1 vladimir1956 vladimir1956 133 сен 12 12:43 12_09.py
-rw-rw-rw- 1 vladimir1956 vladimir1956 479 сен 7 14:56 logi4eskie_operatori.py
-rw-rw-rw- 1 vladimir1956 vladimir1956 281 сен 7 14:07 operator_sravnenija.py
vladimir1956@vladimir1956-Satellite-A665:~/Python1956$

12.09.2020 15:19 #435265
"Vladimir1956" написал:
как эти права добавить.

Добавить право на исполнение файлов *.py в текущем каталоге:

text
sudo chmod a*x ./*.py

То же для всех вайлов:

text
sudo chmod a*x ./*
12.09.2020 15:32 #435266

Я просто зашёл в свойсва файлов и поставил галочку- Разрешить исполнять, как программу и вот что получилось:

vladimir1956@vladimir1956-Satellite-A665:~/Python1956$ ls -l
итого 16
-rwxrwxrwx 1 vladimir1956 vladimir1956 539 сен 4 12:06 04.09.2020.py
-rwxrwxrwx 1 vladimir1956 vladimir1956 133 сен 12 12:43 12_09.py
-rwxrwxrwx 1 vladimir1956 vladimir1956 479 сен 7 14:56 logi4eskie_operatori.py
-rwxrwxrwx 1 vladimir1956 vladimir1956 281 сен 7 14:07 operator_sravnenija.py
vladimir1956@vladimir1956-Satellite-A665:~/Python1956$

12.09.2020 15:34 #435267
"Vladimir1956" написал:
Я просто зашёл в свойсва файлов и поставил галочку- Разрешить исполнять, как программу

Так тоже можно, если вы имеете право на запись в эти файлы.

12.09.2020 15:39 #435268

Но всёравно не получается связи Sublime Text с командной строкой

12.09.2020 17:29 #435269
"Vladimir1956" написал:
не могу открыть.

Вам надо прочитать файл или запустить? Прочитать (посмотреть) запускаете любой текстовый редактор (leafpad, gedit, medit) [console] leafpad *.py[/console] или выбираете опцию "открыть как текст" в меню файлового менеджера.

12.09.2020 19:31 #435271

Мне тут подсказали, что перед файлом, который надо открыть надо было перед ним вставить python3 и сразу всё открылось. Но теперь не знаю, как выполнить следующее действие: пишешь пример кода в редакторе Sublime Text и потом нажимаешь enter и содержимое кода должно появиться в командной строке. Не знаю, как привязать. По виндовсом я видел ролик, а вот в линуксе не получается. %)

13.09.2020 07:25 · отредактировано #435272
"Vladimir1956" написал:
Но теперь не знаю, как выполнить следующее действие: пишешь пример кода в редакторе Sublime Text и потом нажимаешь enter и содержимое кода должно появиться в командной строке.

Копи-паст. Выделить мышью, Ctrl-C - скопировать, Ctrl-V - вставить, в консоли Linux вставка через меню консоли.

13.09.2020 10:07 #435273

Добрый день Валентин!

Там немного по другому, я прикладываю ссылку на ролик можете и не смотреть, то, что я не могу сделать в линуксе, там показан пример в виндовсе, начиная с 7:05 . https://www.youtube.com/watch?v=fp5-XQFr_nk&ab_channel=%D0%A5%D0%B0%D1%83%D0%B4%D0%B8%D0%A5%D0%BE%E2%84%A2-%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%BE%D0%BC%D0%B8%D1%80%D0%B5IT%21

Там показан путь, который прописан для всей операции. К примеру Вы пишите код в Sublime Text и нажимаете Enter, чтобы проверить правильность и он автоматом выскакивает в командной строке. Я проложил путь к папке newpython, в которую складываю файлы с расширением ру, вот как это выглядит:

vladimir1956@vladimir1956-Satellite-A665:~$ cd newpython
vladimir1956@vladimir1956-Satellite-A665:~/newpython$

Дальше завёл файл с расширением ру, всё открылось, вот пример:

vladimir1956@vladimir1956-Satellite-A665:~/newpython$ ./kalkulator.py
./kalkulator.py: строка 3: синтаксическая ошибка рядом с неожиданным маркером «(»
./kalkulator.py: строка 3: `what = input("Что делаем? (+, -):" )'
vladimir1956@vladimir1956-Satellite-A665:~/newpython$

Но как сделать, чтобы при написании копировалось автоматом не знаю. %)

13.09.2020 12:18 · отредактировано #435274

Дорогой Vladimir1956!

Чтобы программировать было удобней, конечно, нужен удобный редактор кода с разбором синтаксиса команд и его подстветкой.
Возможно, стоит попробовать другой редактор.
И потом, вам наверное, нужен отладчик кода, если хотите проверять результат выполнения команд.
Хороший отладчик позволяет устанавливать точки прерывания кода, выполнять инструкции пошагово, показывать значения переменных.
Вот что нахожу для лучших редакторов кода для python:
https://python-scripts.com/ide-for-python
Или https://tproger.ru/translations/python-ide/
Сам с python не разбирался, своих предпочтений насчёт IDE нет.

13.09.2020 14:11 #435275
"Vladimir1956" написал:
Но как сделать, чтобы при написании копировалось автоматом не знаю.

Если моя догодка верна, вам надо перед тестированием кода в вашем редакторе сохранять файл (возможно вы этого не делали).
Когда вы в первый раз запускаете файл, вам придется команду набрать руками. Второй и следующие запуски -- стрелка вверх и Enter.
Только не надо меня бить, если я не угадал :)

13.09.2020 14:37 #435276

caspar

Извините, что влез, пытаюсь переформулировать ответ, чтобы было понятней.

"caspar" написал:
вам надо перед тестированием кода в вашем редакторе сохранять файл (возможно вы этого не делали).

Естественно, сохранить скрипт перед выполнением.
Сохранить, а потом запускать.

"Vladimir1956" написал:
К примеру Вы пишите код в Sublime Text и нажимаете Enter, чтобы проверить правильность и он автоматом выскакивает в командной строке.

Вы ведь выполняете весь скрипт, а не только последнюю введённую команду.

15.09.2020 10:02 · отредактировано #435278

Добрый день Всем!

Я очень извиняюсь, но возникла вот какая проблема:
Я установил Sublime Text и никак не получается его правильно настроить. Печатаю код для определения версии:
import sys
print(sys.version)

нажимаю клавиши ctrl+B и ничего не происходит. К тому же внизу когда открываю консоль, то их там 2. В средней консоли только информация об установках и удалить или заводить ничего не получается, а вот самая нижняя даёт заводить и только одну строку и при нажатии enter, результат выдаёт в средней кансоли. А вот, чтобы набрать код в верхней консоли и увидеть результат в нижней или средней не получается. Я уже запутался, вчера целый день убил на поиск этой проблемы и так не нашёл. Может кто-нибудь сталкивался с такой проблемой? %)

Можно не коментировать эту тему. Я установил PyCharm, она с виду сложная, а на самом деле всё тут оказалось давольно таки просто.

Войдите или зарегистрируйтесь, чтобы ответить.