Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2016 22:34:04

ruthven
Зарегистрирован: 2015-05-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Параметры командной строки

Есть скрипт, лежит в с:\windows\

# test.py
import sys
for arg in sys.argv:
    print(arg)

если в XP с диска D запустить test.py file.txt, то выведет:
c:\windows\test.py
file.txt

если тоже самое сделать в семерке, то скрипт напрочь отказывается видеть argv[1) и выдает только:
c:\windows\test.py

Почему?

Отредактировано ruthven (Фев. 19, 2016 22:36:33)

Офлайн

#2 Фев. 20, 2016 07:50:27

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Параметры командной строки

Не воспроизводится на семерке.

ruthven
с диска D запустить test.py file.txt
Как мы должны догадаться что вы реально делаете чтобы “запустить”?



Офлайн

#3 Фев. 21, 2016 16:03:34

ruthven
Зарегистрирован: 2015-05-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Параметры командной строки

Как мы должны догадаться что вы реально делаете чтобы “запустить”?

Используя здравый смысл (я обычно так делаю). Но специально для вас объясню поподробнее -
Запускаете любой файл-менеджер и вводите в командной строке test.py file.txt (вместо file.txt надо ввести любое имя файла присутствующего на диске D:\), после чего нажать кнопку Enter (обычно это самая большая кнопка на клавиатуре и на ней написано Enter).

Если вас смущает фраза файл-менеджер, то можно сделать следующее Пуск->Выполнить и ввести cmd (нажать Enter), после чего появится черное окошко (не пугайтесь) там набрать d: (это мы уже умеем), нажать Enter и после набрать test.py file.txt (не забыть нажать Enter)

Есть ещё третий вариант, можно на рабочий стол вывести ярлык от test.py и в его свойствах в закладке Ярлык в поле Объект добавить file.txt
Но скажу честно, последний способ я вам не рекомендую.

Офлайн

#4 Фев. 21, 2016 18:13:27

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Параметры командной строки

Спасибо за подробное объяснение.

ruthven
Используя здравый смысл
Вы бы знали какие только варианты некоторые участники форума называют запуском. :) Здравый смысл отдыхает в сторонке.
Вы при вашем способе запуска вы опираетесь на то как именно в ОС настроено выполнение файлов по заданной ассоциации расширения файла и команды (Или в файловом менеджере, который соственно и реагирует на нажатие главной кнопки. Вы очень зря не написали что это за менеджер. Еще вам следовало написать какую версию питона вы используете. Под виндой старые версии просто вызывают питон, а новые запускают ланчер, который разбирается что написано в первой строке файла и выбирает нужную версию питона). В семерке реально утерялись аргументы :). Настройте то что вы там используете чтобы они передавались или запускайте в командной строке python test.py some.txt




Отредактировано doza_and (Фев. 21, 2016 18:27:52)

Офлайн

#5 Фев. 23, 2016 11:30:48

ruthven
Зарегистрирован: 2015-05-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Параметры командной строки

doza_and
Извините, что вспылил. В поисках ответа я уже прошерстил немало форумов и меня достали “гуглофилы” и “учителя” английского языка. Знающих питон не найти, а этой дешевой и никому ненужной шушеры пруд пруди. Весь рунет заполнен этими “гуру” с завышенным чувством важности, в ответах которых (типа “погугли”) тонет вся полезная информация.

Ещё раз извините и спасибо за ответ.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version