Как открыть программу через cmd python

и после этого файл script1.py был выполнен интерпретатором. При этом я не хочу писать полный путь к скрипту. Я настроил системную переменную PATH, так, чтобы в ней лежал путь к каталогу, в котором находится интерпретатор. Скрипт лежит в той же самой папке. И когда я просто запускаю интерактивный режим командой «python» из любого каталога, все работает хорошо.

Но когда я пишу команду, приведенную выше, скрипт не запускается. То есть переменная PATH работает при поиске интерпретатора и не работает при поиске скрипта. Как мне сделать, чтобы я мог без написания полного пути к файлу запускать его?

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

Как я понял, вам нужно указать дефолтную директорию при запуске командной строки.

  • запускаете regedit
  • откроваете ветку HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor
  • добавляете новый параметр с типом REG_SZ (ПКМ > new > String Value) и присваиваете ему название Autorun
  • в поле value data ( второе поле) вписываете нужный вам путь к директории где обычно у вас лежат скрипты, к примеру CD C:
  • сохраняете

Теперь при открытии cmd у вас по-дефолту будет открываться заданный путь

Командная строка | Изучаем Python

Проще всего переустановить питон и при установке поставить галочку «добавить в Path».

Ну а руками попробуй в переменную Path добавить эти 2 строчки

C:UsersТвой_ПользовательAppDataLocalProgramsPythonPython36-32Scripts C:UsersТвой_ПользовательAppDataLocalProgramsPythonPython36-32

Где «Твой_Пользователь» имя твоего пользователя.

А для скрипта добавь в PATH переменную «my_script» и путь к твоему файлу «script1.py». После этого будет все четко работать по

python %my_script%

Чтобы запустить some-command.py Питон скрипт, который в одной из %PATH% директорий лежит, используя только имя команды (из любой директории):

Читайте также:
Топ 10 программ для монтажа на ПК

C:> some-command

нужно добавить .py расширение в %PATHEXT% переменную окружения:

C:> echo %pathext%

и убедиться, что настроено приложение для запуска *.py файлов, к примеру, pylauncher ( py.exe — вместе с Питоном поставляется):

С:> assoc .py С:> ftype Python.File

Если у вас несколько версий Питона установлено, то добавьте shebang на самом верху Питон-скрипта, чтобы указать желаемую версию Питона:

#!/usr/bin/env python3

Если директория присутствует в sys.path списке, то можно -m форму использовать, чтобы Питон модуль как скрипт запустить (из любой директории):

C:> py -m some_module

в этом случае some_module.py не обязан в %PATH% лежать.

Источник: husl.ru

Как открыть текстовый файл hello.py через командную строку )при установленном питоне)?

К сути, программированием решил заняться для себя, просто хобби, начать решил с Python, купил книгу Саммерфилда, установил питон 3.7 с ориг. сайты, галочку со средой поставил при установке, как и в книге, я создал в блокноте файл и назвал его hello.py, зашел в cmd(запускаю файл не в командной строке интерпретатора), переменные среды Path я указал, и саму папку питона и скрипты:

006 Как запускать Python программы в Windows


C:UsersfinniAppDataLocalProgramsPythonPython37-32> C:py5egpython hello.py
«C:py5egpython» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Второй вариант из книги:
C:py5eg>C:UsersfinniAppDataLocalProgramsPythonPython37-32python.exe hello.py
C:UsersfinniAppDataLocalProgramsPythonPython37-32python.exe: can’t open file ‘hello.py’: [Errno 2] No such file or directory
Я понимаю, что можно запустить интепретатор в cmd и работать так, но почему у меня не получается просто через cmd?

  • Вопрос задан более трёх лет назад
  • 2294 просмотра

Решения вопроса 0

Ответы на вопрос 3

NeiroNx

Программист

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

Ответ написан более трёх лет назад

Нравится 1 Комментировать

deepblack

Укажите полный путь к интерпретатору и исполняемому файлу.
Например:

C:UsersfinniAppDataLocalProgramsPythonPython37-32python.exe C:UsersfinniDesktophello.py

Ответ написан более трёх лет назад

Нравится 1 2 комментария

Источник: qna.habr.com

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » питон + cmd с аргументами

#1 Окт. 17, 2021 23:04:05

питон + cmd с аргументами

Есть программа, которая работает через командную строку.
Запуск программы –> C:WindowsSystem32cmd.exe /k fdsinit
После этого появляется какое-то “специальное” окно командной строки
Цель: из питона запустить программу, перейти в нужную директорию (или сразу открыть в нужной директории), ввести команду на обработку файла.
я могу открыть прогу через такой код

Читайте также:
Что такое бинарные программы

import subprocess subprocess.run(‘C:WindowsSystem32cmd.exe /k fdsinit’, shell=True)

через какие аргументы можно выполнить сразу три действия (открыть прогу, перейти в нужную директорию, запустить команду)?

#2 Окт. 17, 2021 23:23:18

питон + cmd с аргументами

Получится ли как к примеру я блокноту скармливаю файл с помощью os

import os os.system(‘notepad.exe D:my_doc.txt’)

#3 Окт. 18, 2021 10:31:51

питон + cmd с аргументами

xam1816
import os
os.system(‘notepad.exe D:my_doc.txt’)

Делаю аналогичный пример — не работает
import os os.system(‘C:WindowsSystem32cmd.exe /k fdsinit cd..’)

работает такой пример, с аргументом /k, но с двумя /k уже не работает:
import os os.system(‘cmd.exe /k cd..’)

Отредактировано Pacifist (Окт. 18, 2021 10:34:41)

#4 Окт. 18, 2021 11:07:26

питон + cmd с аргументами

d:temp>test2.cmd www
«программа запущена с аргументом: www»
Введите пароль: 123
«пароль: 123»

d:temp>echo qwerty | test2.cmd www
«программа запущена с аргументом: www»
Введите пароль: «пароль: qwerty «

d:temp>

Pacifist
через какие аргументы можно выполнить сразу три действия (открыть прогу, перейти в нужную директорию, запустить команду)?

что мешает сразу перейти в нужную директорию перед вызовом программы?

d:temp>test2.cmd
current dir: d:temp
d:temp>cd ..
d:>temptest2.cmd
current dir: d:
d:>cd test
d:test>d:temptest2.cmd
current dir: d:test
d:test>
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Окт. 18, 2021 11:17:15)

#5 Окт. 18, 2021 12:12:25

питон + cmd с аргументами

Pacifist
Делаю аналогичный пример — не работает

Я предполагал не открывать cmd.exe, а сразу типа

os.system(‘D:fds.exe D:файл.fds’)

Отредактировано xam1816 (Окт. 18, 2021 12:12:44)

#6 Окт. 18, 2021 15:47:50

питон + cmd с аргументами

Спасибо за развернутый ответ. Пока не смог понять как мне это использовать

xam1816
Я предполагал не открывать cmd.exe, а сразу типа

Для начала работы именно нужно запустить cmd.exe через fdsinit.bat
Потом перейти в нужную директорию (или сразу в ней запустить)
Потом команда с именем фала

#7 Окт. 18, 2021 16:25:02

питон + cmd с аргументами

Pacifist
Для начала работы именно нужно запустить cmd.exe через fdsinit.bat

так fdsinit этобатник?вот это я туплю, вот что значит 4 дня выходных . Так шож вы бабушку лохматите то? его же можно как угодно поправить, батник в студию, будм смотреть .

Pacifist
Спасибо за развернутый ответ. Пока не смог понять как мне это использовать

в первом случае батник спрашивает ввод с клавиатуры, первый пример мы вводим, второй — через перенаправление echo qwerty | test2.cmd www просто подставляем из командной строки пароль qwerty, ничего не вводя с клавы.
Во втором случае сначала меняем текущую директорию, потом вызываем батник, батник считает текущей не ту директорию в которой находиться, а ту из которой запущен.

Читайте также:
Как найти программу прослушки

нафига вы вообще дергаете C:WindowsSystem32cmd.exe? почему не вызвать сразу батник?

[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Окт. 18, 2021 16:35:34)

#8 Окт. 18, 2021 16:34:47

питон + cmd с аргументами

import os from subprocess import Popen, PIPE # changes directory to directory where input file is saved. base = (os.getcwd()) string = f»/4″ os.chdir(string) cmd = ‘cmd.exe’ p = Popen(cmd, stdin=PIPE , stdout=PIPE, bufsize=0, shell=True) p.stdin.write(b»fdsinit*desired folder name*») p.stdin.write(b»fds_local -p 2 -o 2 *filename*.fds «) p.stdin.close() p.wait();

в интернете нашел

#9 Окт. 18, 2021 16:55:43

питон + cmd с аргументами

PEHDOM
так fdsinit этобатник?вот это я туплю, вот что значит 4 дня выходных . Так шож вы бабушку лохматите то? его же можно как угодно поправить, батник в студию, будм смотреть .

fdsinit.bat:

чего-то не хочется в него лезть
потом придется постоянно динамически менять?

xam1816
fds_local -p 2 -o 2 *filename*.fds

пример как раз для меня) спасибо! Именно эту команду мне нужно запустить, отредактировав индексы и имя файла в питоне.
Буду пробовать

#10 Окт. 18, 2021 17:15:35

питон + cmd с аргументами

Pacifist
чего-то не хочется в него лезть
потом придется постоянно динамически менять?

зачем? ставите условие если нет аргументов то просто батник работает как есть, если есть аргумент парсите его
типа

if «%1″==»» (
echo нормальная работа, запрашиваем команды и т.д.
) else (
echo автоматическая работа, вызываем fds.exe c параметрами передаными в команной строке
)
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Окт. 18, 2021 17:16:28)

Источник: python.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru