Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/120: Рейтинг темы: голосов - 120, средняя оценка - 4.83
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176

Не запускается в CMD скрипт

18.06.2013, 19:09. Показов 22557. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
скрипт рабочий, работает из редактора и просто при двойном клике на файле, в директории. а вот в cmd никак. нужно запустить в конечном счёте это дело в консоли приложения, не знаю можно-ли, но пока так вот.
Кликните здесь для просмотра всего текста
дело в том, что разработчик станка "кулибин", посоветовал мне, так как его управляющая программа не очень и я хотел сделать свою, переписать одну функцию с python, на своем языке программирования. станок управляется ещё с python. с функцией я кое как разобрался, но тут понял что это мне ничего не даст. а нужно сделать консольное приложение, открыть в консоли cmd, запустить в этой консоли интерпретатор python, запустить там же эту программу с этой функцией, всё это программой freepascal, и этой же программой, через ее консоль вводить аргументы для программы на python, точнее ее функции. в разделе Lazarus мне очевидно уже не хотят помогать, по причине моих личных качеств, судя по всему информация о которых ими долго собиралась и анализировалась. переход на личности, со стороны администрации критиковать нельзя, потому всё хорошо, но мне надо лучше: взять управление продуктом, который я приобрел по наивной вере в отечественного производителя и в то, что всё плохое-случайность.
может разработчик и прав, но это слишком сложная для меня задача, мне проще сделать приложение и с формой и с консолью, в консоли запустить этот скрипт и отправлять ему своей программой аргументы для функции

вот код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: cp1251 -*-
import d2xx         # Библиотеку качаем с bleyer.org/pyusb
import time
c=2
d=d2xx.listDevices(d2xx.OPEN_BY_DESCRIPTION)
d2xx.listDevices()
h = d2xx.open(0)
h.setBitMode(255,1) # Подготовили порт к работе
def step(n,d):      # Определим функцию шага по выбранной оси
    """step(axis,direction): 20 micron step by axis 1, 2 or 3 in direction 1 or 0"""
    r=0
    if n==1:
        b=16
    elif n==2:
        b=4
    elif n==3:
        b=20
    global c
    a=chr(b+d+c)
    r=h.write(a)    
    time.sleep(0.04)
    c=2-c
    return r
                    # Конец служебной части.
                    # Далее пишем что-то свое, например вот такую программу, делающую 1 оборот туда и обратно по оси z:
t=range(50)
for n in t:
    step(3,1)
for n in t:
    step(3,0)
 
h.close()           # Напоследок закрываем порт
скриншот cmd ниже
Миниатюры
Не запускается в CMD скрипт  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2013, 19:09
Ответы с готовыми решениями:

не запускается скрипт в CMD
написал программу в pycharme пытаюсь её запустить в cmd, выдает ошибку : Traceback (most recent call last): File...

Запускается cmd
Такая проблема. ОС Вин 8.1. Периодически (каждые 20-40 мин) запускается командная строка, в которой ничего не происходит. Запустилась,...

Не запускается через cmd
Прописываю в консоле net start mysql, выводит Неправильное имя службы. Для вызова дополнительной справки ..... Версия MySQL 5.1 ...

33
100 / 85 / 5
Регистрация: 06.05.2013
Сообщений: 242
18.06.2013, 20:27
Он тебе пишет, что ты синтаксическую ошибку допустил в программе, нужно файл смотреть.
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
18.06.2013, 20:38  [ТС]
но файл работает, его код в сообщении. не знаю ...может в первой строке вот это должно быть #! ...
0
100 / 85 / 5
Регистрация: 06.05.2013
Сообщений: 242
18.06.2013, 21:01
Это называется shebang, вообще на сколько мне извесно его нужно прописывать в заголовке скрипта, только если вы используется unix систему.
1
 Аватар для funtaps
15 / 15 / 2
Регистрация: 14.06.2013
Сообщений: 45
18.06.2013, 21:06
С файлом все ок.
Запускаешь ты его не так. Надо после слова python НЕ нажимать Enter, а нажимать пробел и далее адрес файла. В одну строку. А потом Enter.
Примерно так
Bash
1
python C:\Users\Андрей\Documents\scripty\Script1.py
(Если я не ошибся перепечатывая адрес файла со скриншота - должно сработать)
1
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
18.06.2013, 21:32  [ТС]
Цитата Сообщение от funtaps Посмотреть сообщение
(Если я не ошибся перепечатывая адрес файла со скриншота - должно сработать)
не ошибся , работает, сначала выдал что девайс не найден, потом я его включил, работает . теперь надо чуть переписать эту программу на Python, и передавать в неё параметры функции через командную строку, как-то, именно поэтому я и хотел сначала в командной строке запустить чисто питон, чтобы в ней открылся типа шел

Добавлено через 10 минут
вот тут вот ещё по этому вопросу, но ближе к среде разработки
0
 Аватар для funtaps
15 / 15 / 2
Регистрация: 14.06.2013
Сообщений: 45
18.06.2013, 22:04
Чтобы передавать в скрипт данные с помощью консоли, надо запускать скрипта так
Bash
1
python C:\Users\Андрей\Documents\scripty\Script1.py 111 222 "ASDQWE"
В самом же скрипте сверху написать
Python
1
import sys
, а потом для доступа к аргументам использовать конструкцию sys.argv[ИНДЕКС] где ИНДЕКС = 0 для "C:\Users\Андрей\Documents\scripty\Scrip t1.py"; 1 для "111"; 2 для 222; 3 для "ASDQWE"
Например вызов команды выше, при тексте скрипта
Python
1
2
import sys
print sys.argv[2]
выведет 222

Добавлено через 2 минуты
Так же для отладки можно запускать скрипт с ключом -i
Bash
1
python -i C:\Users\Андрей\Documents\scripty\Script1.py
Этот ключ по завершению скрипта не завершит процесс питона, и выдаст шел. Соответственно можно будет посмотреть значения переменных, попробовать какой-нибудь код и т.п.
2
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
18.06.2013, 22:10
Цитата Сообщение от Hretgir Посмотреть сообщение
нужно запустить в конечном счёте это дело в консоли приложения, не знаю можно-ли, но пока так вот
чтобы запустить в интерпретаторе, нужно весь код туда скопировать
1
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
19.06.2013, 18:32  [ТС]
funtaps, я впечатлен, спасибо огромное, вечером буду пробовать

Добавлено через 11 часов 0 минут
Цитата Сообщение от accept Посмотреть сообщение
чтобы запустить в интерпретаторе, нужно весь код туда скопировать
а если я создам консольное приложение, на своём языке, вызову в эту консоль командную строку, запущу прогу на Python в этой командной строке, и через эту же командную строку буду передавать аргументы в функцию Python? так можно?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.06.2013, 19:50
Цитата Сообщение от Hretgir Посмотреть сообщение
и через эту же командную строку буду передавать аргументы в функцию Python? так можно?
можно, но ты сразу запускаешь скрипт с аргументами, а не передаёшь их после запуска, а в скрипте берёшь их через sys.argv

пример
t.py
Python
1
2
3
4
5
6
#!/usr/bin/env python3
 
import sys
 
argc = len(sys.argv)
print(argc, sys.argv)
t.c
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    const char *cmd = "python3 t.py 123 456 789";
 
    printf("run: %s\n", cmd);
    system(cmd);
    printf("exit\n");
    return 0;
}
Code
1
2
3
4
5
6
[guest@localhost c]$ .ansi t.c -o t
[guest@localhost c]$ ./t
run: python3 t.py 123 456 789
4 ['t.py', '123', '456', '789']
exit
[guest@localhost c]$
1
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
19.06.2013, 20:11  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
а в скрипте берёшь их через sys.argv
а скрипт не обгонит программу передающую аргументы? а то будет ещё выполнять по две операции по старым аргументам. он как-то узнает, что пришли новые аргументы?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.06.2013, 20:32
Цитата Сообщение от Hretgir Посмотреть сообщение
а скрипт не обгонит программу передающую аргументы?
программа приостанавливается, пока вызов не завершится
1
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
19.06.2013, 21:48  [ТС]
не могу найти
sys.argv
, для FreePascal нет такого в учебниках, и по Lazarus в учебниках нету фряшных,. и вобщем нашёл для Python-sys.argv[] это путь к текущему модулю, то есть получается, что, то, что должно быть на другом языке должно быть модулем. это не нужно, а нужно: запускается программа на другом языке, запускает скрипт Python, скрипт, пусть и не сразу, получает от программы на другом языке, шаг за шагом, аргументы для выполнения. вот это нужно. то-есть: программа на другом языке может иметь интерфейс оконный, кнопки, таблицы, что угодно, но оконный интерфейс. а как это будет выглядеть если её сделать модулем? она должна открывать файлы, сэйвить. да и хлопотно это, для моего уровня: писать модули для Python на FreePascal в Lazarus.

Добавлено через 35 минут
Цитата Сообщение от funtaps Посмотреть сообщение
Чтобы передавать в скрипт данные с помощью консоли, надо запускать скрипта так
Bash
1
python C:\Users\Андрей\Documents\scripty\Script1.py 111 222 "ASDQWE"
В самом же скрипте сверху написать
Python
1
import sys
, а потом для доступа к аргументам использовать конструкцию sys.argv[ИНДЕКС] где ИНДЕКС = 0 для "C:\Users\Андрей\Documents\scripty\Scrip t1.py"; 1 для "111"; 2 для 222; 3 для "ASDQWE"
Например вызов команды выше, при тексте скрипта
Python
1
2
import sys
print sys.argv[2]
выведет 222

Добавлено через 2 минуты
Так же для отладки можно запускать скрипт с ключом -i
Bash
1
python -i C:\Users\Андрей\Documents\scripty\Script1.py
Этот ключ по завершению скрипта не завершит процесс питона, и выдаст шел. Соответственно можно будет посмотреть значения переменных, попробовать какой-нибудь код и т.п.
вобщем теоретически, я могу запустить скрипт с консоли своего приложения написанного на freepascal? вроде да, если передам в консоль параметры командной строки. вроде где-то я видел это в учебниках, мельком. далее нужно в функцию скрипта передавать аргументы, теоретически это можно с помощью той-же консоли. вобщем надо пробовать. если я кого-то не понял, извиняйте. тут нужна пауза для практики. вобшем попробую, потом если что вопросы напишу.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.06.2013, 22:08
Цитата Сообщение от Hretgir Посмотреть сообщение
и вобщем нашёл для Python-sys.argv[] это путь к текущему модулю
это список аргментов командной строки, с которыми запущен скрипт; первый элемент списка - путь запуска скрипта

Цитата Сообщение от Hretgir Посмотреть сообщение
для FreePascal нет такого в учебниках, и по Lazarus в учебниках нету фряшных
они и не нужны, но они есть: Работа с аргументами командной строки, yandex. аргументы в паскале

Цитата Сообщение от Hretgir Посмотреть сообщение
а нужно: запускается программа на другом языке, запускает скрипт Python, скрипт, пусть и не сразу, получает от программы на другом языке, шаг за шагом, аргументы для выполнения. вот это нужно. то-есть: программа на другом языке может иметь интерфейс оконный, кнопки, таблицы, что угодно, но оконный интерфейс. а как это будет выглядеть если её сделать модулем?
шаг за шагом не передашь, только все сразу
чтобы шаг за шагом передавать, нужно делать цикл в скрипте, который ожидает команды из потока ввода (интерактивный скрипт)
теоретические варианты
либо ты его постоянно запускаешь с разными аргументами командной строки
либо есть файл
либо есть сокет (паскаль сможет открыть сокет в линуксе?)
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
20.06.2013, 20:37  [ТС]
(паскаль сможет
открыть сокет в линуксе?)
не знаю, у меня windows, что то я видел вроде такое. завтра буду пробовать что-то, жаль конечно, медленно, но это мой дневной лимит времени.

Добавлено через 21 час 58 минут
всё, я понял, что это не по мне , слишком много времени уходит, буду пробовать связать через файл, создаю новую тему, если что-прошу извинить
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
20.06.2013, 21:04
Цитата Сообщение от Hretgir Посмотреть сообщение
буду пробовать связать через файл
для проверки файла нужно обращаться к диску, а это затратно
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
20.06.2013, 22:02  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
для проверки файла нужно обращаться к диску, а это затратно
мне пример скинули для другого языка программирования, там через инструменты ОС это делается (в этом разделе я тему открыл тоже, по Python) , затратно то-что запись в файл, незнаю как это в железе-нагрузка на опр участок диска, но цель: выточивать матрицы, а не готовые изделия (знал бы-не купил бы этот продукт, полусамодельный-полбеды, но наши разработчики и в ПО хромают. то что всё снаружи, продукт сырой, уголки, стандартные шпильки в качестве валов-пол беды: ПО ударило ниже паха ).

Не по теме:

не то чтобы осуждаю разработчиков, но увы, решали они проблему удаления пыли и стружки из-под фрезы, обсуждали улитки охлаждения от серверов. мне, как сварщику смешно было читать, я им отписался, что купил зарядку блок-питания автомобильных аккумуляторов (когда идея на кону-средств не жалко), купил улитку от лады 08, в сборе продаётся, но я этого не знал: гуглил улитки и всё время выскакивала лада 08, пылесос для настольного маленького фрезера-отличный получился. потом они нашли где-то в инетах направляющую для станка Open-Ball (я тему создавал в разделе робототехника), отписываются в комментах ЖЖ что дорого точить, я предложил вариант без выточки направляющей, ничем не хуже того, что они продают сейчас, даже учитывая коэфициент трения-лучше, не то для них, сомнения, а попробовать-купить два метра уголка и метр швеллера-все затраты на спаренные направляющие, нет, сомнения их берут. и ПО у них такое-же, нет сэйва проделаной работы над 3д изделием, а это дооолгая песня, поэтому и фрезировать буду исключительно матрицы. буду делать коробку передач, исполнительный механизм для робота, там шестерни не разсоединяются, и один двигатель на все механизмы, и вообще достаточно удачно, только потом дорабатывать ещё буду, и недостатки конечно есть, сейчас так хотя-бы. мне хотя бы через файл, а то лето пройдёт, а я ничего не сделаю, потому что я в компасе 3д не всё ещё спроектировал, мне поточить, отлить, чтобы размеры, прочность, точность прикинуть, и доделывать в компасе, по ходу всё :(, валом



Добавлено через 9 минут
мне накладно не будет, если как UI предложил, это всё для контроллера шаговых двигателей. только в Python надо ещё так-же. и связать две проги через файл
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
20.06.2013, 22:49
так а что мешает сделать интерактивный скрипт ?
пример интерактивной программы - cmd.exe: она в цикле ожидает ввод от пользователя, он что-то вводит, нажимает <Enter>, она что-то делает, потом снова ожидает ввод от пользователя
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 176
20.06.2013, 22:58  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
так а что мешает сделать интерактивный скрипт
дело в том, что 3д модель выточить-это передать на контроллер мегабайты G-кода, и записывать или запоминать номер последнего шага (вдруг свет выключат). в ручную я их вводить не хочу: это будут уже годы, чтобы выточить механизм (проще руками, но не факт-коробка передач требует точности деталей).
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.06.2013, 05:42
интерактивный скрипт ожидает ввода от пользователя, но пользователя может заменить программа
например, почтовый сервер: ты можешь подключиться к нему клиентом, который войдёт и скачает почту, а можешь вручную подключиться и посылать команды, при этом команды одни и те же (определяются почтовым протоколом)

Цитата Сообщение от Hretgir Посмотреть сообщение
дело в том, что 3д модель выточить-это передать на контроллер мегабайты G-кода, и записывать или запоминать номер последнего шага (вдруг свет выключат)
ну, для этого у тебя должен быть исполнитель (это что-то вроде робота), который умеет посылать любые команды станку
а потом для исполнителя пишется программа, которая управляет исполнителем определённым образом
для одной детали - одна программа, для другой детали - другая программа
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.06.2013, 05:42
Помогаю со студенческими работами здесь

Не запускается cmd.exe
Доброго времени суток! Прошу сразу не пинать с Win 2003 имею дело всего 3й месяц. Имеется такой вопрос: как можно восстановить...

Не запускается cmd на Windows 7
Доброго времени суток Пишу программу-обертку в которой через c# запускаю скрипты .py через cmd На windows 10 и 8.1 всё работает, а на 7...

Скрипт CMD
Разработайте скрипт на языке cmd, выводящий на экран названия файлов каталога, указанного в качестве первого параметра командной строки,...

Скрипт cmd
Здравствуйте, появилась проблема, необходимо собрать с каждого компьютера в домене скорость подключения к интернету текущую (не паспортную...

Запускается cmd и открывается сайт
Здравствуйте! При входе в Windows открывается Chrome и отображается сайт . Логи прикрепил. Спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru