Как я могу создать командную строку, поэтому я могу выполнить свою программу в Windows с некоторыми параметрами...
Например:
C:/Program/App.exe -safemode
Я чувствую, что вы также хотите сгенерировать "исполняемый файл", который вы можете использовать автономно... Для этого вы используете py2exe
Вот полный example.py
:
import optparse
parser = optparse.OptionParser()
parser.add_option("-s", "--safemode",
default = False,
action = "store_true",
help = "Should program run in safe mode?")
parser.add_option("-w", "--width",
type = "int",
default = 1024,
help = "Desired screen width in pixels")
options, arguments = parser.parse_args()
if options.safemode:
print "Proceeding safely"
else:
print "Proceeding dangerously"
if options.width == 1024:
print "running in 1024-pixel mode"
elif options.width == 1920:
print "running in 1920-pixel mode"
И вот полный setup.py
, который превратит приведенный выше example.py
в example.exe
(в подкаталог dist
):
from distutils.core import setup
import py2exe
import sys
sys.argv.append('py2exe')
setup(
options = {'py2exe': dict(bundle_files=1, optimize=2)},
console = ["example.py"],
zipfile = None,
)
Вы говорите о параметре, переданном на python script?
'couse вы можете получить к ним доступ с помощью
import sys
print sys.argv
Или можно использовать более сложный getopt модуль.
Не парень-питон (но все равно), но мой Google-fu нашел это, предполагая, что вы имели в виду "обработку аргументов командной строки":
http://www.faqs.org/docs/diveintopython/kgp_commandline.html
Используйте optparse.OptionParser.
from optparse import OptionParser
import sys
def make_cli_parser():
"""Makes the parser for the command line interface."""
usage = "python %prog [OPTIONS]"
cli_parser = OptionParser(usage)
cli_parser.add_option('-s', '--safemode', action='store_true',
help="Run in safe mode")
return cli_parser
def main(argv):
cli_parser = make_cli_parser()
opts, args = cli_parser.parse_args(argv)
if opts.safemode:
print "Running in safe mode."
else:
print "Running with the devil."
if __name__ == '__main__':
main(sys.argv[1:])
При использовании:
$ python opt.py
Running with the devil.
$ python opt.py -s
Running in safe mode.
$ python opt.py -h
Usage: python opt.py [OPTIONS]
Options:
-h, --help show this help message and exit
-s, --safemode Run in safe mode
Один из многих способов:
import sys
print sys.argv
>>>python arg.py arg1 arg2
['arg.py', 'arg1', 'arg2']
sys.argv - это список, содержащий все аргументы (также имя script/program) как строку.
Вы задаете вопрос с несколькими ответами.
Во-первых, командная строка передается в массив sys.argv. argv - это историческое имя из языков C и Unix. Итак:
~/p$ cat > args.py
import sys
print "You have ", len(sys.argv), "arguments."
for i in range(len(sys.argv)):
print "argv[", i, "] = ", sys.argv[i]
~/p$ python args.py 34 2 2 2
You have 5 arguments.
argv[ 0 ] = args.py
argv[ 1 ] = 34
argv[ 2 ] = 2
argv[ 3 ] = 2
argv[ 4 ] = 2
Это работает как в MS Windows, так и в Unix.
Во-вторых, вы можете спросить: "Как мне получить хорошие аргументы? MS Windows или --help в Linux? "
Ну, есть три варианта, которые пытаются сделать то, что вы хотите. Два, optparse и getopt являются уже в стандартной библиотеке, а argparse уже в пути. Все три из них - библиотеки, которые начинаются с массива строк sys.argv, описание аргументов командной строки и возвращают какую-то структуру данных или класс, из которых вы можете получить варианты, которые вы имеете в виду.
Когда вы переходите к более сильному разбору, вам нужно дать парсеру более подробную информацию о том, что вы хотите аргументы командной строки. Например, вам нужно передать длинную письменную описание аргумента, если вы хотите, чтобы аргумент -help напечатал его.
В-третьих, вы можете попросить инструмент, который просто имеет дело с параметрами из команды строка, переменные среды и файлы конфигурации. В настоящее время Python имеет отдельные инструменты для каждого из них. Возможно, я напишу унифицированный, вам понадобятся: - аргументы командной строки, обработанные argparse, или getopt и т.д. - переменные среды, от os.environ [] - Конфигурационные файлы из ConfigFile или plistlib и т.д. и постройте свой собственный ответ на "какие настройки"?
Надеюсь, что это полностью ответит на ваши вопросы.
Или вы просто спрашиваете, как открыть командную строку?
перейдите в меню "Пуск", нажмите "Запустить" (или просто введите в Windows 7), введите "cmd"
Это откроет командную оболочку. Учитывая, что на ваш вопрос помечен python, я не уверен, что он будет скомпилирован в exe, вам, возможно, придется ввести "python (ваш источник здесь).py -safemode".
Другие комментарии касались того, как обрабатывать параметры. Если вы хотите сделать свою программу python exe, вы можете посмотреть py2exe.
Это не требуется, но вы упомянули App.exe, а не App.py
options, arguments = parser.parse_args()
поместят флаги для всех вариантов в переменныеoptions
.... то это до вас , чтобы написать ,if
или независимо от того, что проверяет эти флаги и запускает код , который вы хотите. ( Технически вы можете предоставить функцию для парсера опций, но я думаю, что это легче понять, если вы просто используете ее для разбора и установки флагов)