2010-09-01 1 views
0

У меня есть скрипт python, входящий в состав приложения (я нахожусь на mac) и имею приложение, чтобы открыть .zip-файлы. Но когда я говорю «open foo.zip с bar.py», как мне получить доступ к файлу, который я ему передал?Python: открыть файл * с * скриптом?

Дополнительная информация: Использование tkinter.

Какой хороший способ отладить это, так как нет терминала для передачи информации?

+0

Проверьте консольное приложение. Вероятно, у вас будет вся информация, которую вы ищете. – zneak

+0

Я не могу найти python.log или tk.log или что-то в этом роде. Где бы это было? – Violet

ответ

0

Если я не ошибаюсь, он должен передать имя файла в качестве первого аргумента скрипту - sys.argv[1].

+0

Это то, что я тоже думаю ... только, независимо от того, задаю ли я файл или нет, 'sys.argv [1]' заполняется «-psn_0 _ #######» – Violet

1

Вы должны использовать sys.argv [1]

task = sys.argv[1].decode('utf-8') 
if task == u'uppercase': 
    pass 
elif task == u'openitems': 
    item_paths = sys.argv[2:] 
    for itempath in item_paths: 
     itempath = itempath.decode('utf-8') 
+0

Я немного не зная об этом. Он генерирует синтаксические ошибки на моей машине. Что он пытается достичь? – Violet

+0

Идея состоит в том, чтобы сначала декодировать вход, собранный через «sys.argv» как UTF-8. То же самое мы должны сделать, если нам нужно отправить значение applescript. Что будет передано bar.py, это команда, которая должна быть расшифрована. Затем команды могут обрабатываться, как показано в примере выше. – pyfunc

+0

Не забудьте «импортировать sys» – domen