Найти - Пользователи
Полная версия: Параметры командной строки
Начало » Python для новичков » Параметры командной строки
1
ruthven
Есть скрипт, лежит в с:\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

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

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

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

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


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

Ещё раз извините и спасибо за ответ.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB