2010-09-01 43 views
0

我有一个Python脚本捆绑到一个应用程序(我在Mac上),并设置应用程序能够打开.zip文件。但是当我说“用bar.py打开foo.zip”时,我如何访问我传递给它的文件?Python:用*脚本打开文件*

附加信息: 使用tkinter。

什么是调试这个好方法,因为没有终端将信息传递给?

+0

检查控制台应用程序。它可能会包含您要查找的所有信息。 – zneak 2010-09-01 02:22:47

+0

我找不到python.log或tk.log或类似的东西。 那会是什么? – Violet 2010-09-01 02:38:41

回答

0

如果我没有大错,它应该传递文件的名称作为脚本的第一个参数 - sys.argv[1]

+0

这就是我的想法......只是,不管我是否指定文件,“sys.argv [1]”都填充了“-psn_0 _ #######” – Violet 2010-09-01 02:36:44

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 2010-09-01 02:52:41

+0

想法是首先将通过“sys.argv”收集的输入解码为UTF-8。我们必须这样做,如果我们必须向applescript发送一个值。将传递给bar.py的是一个命令,需要解码。随后可以按照上面的示例处理命令。 – pyfunc 2010-09-01 03:12:06

+0

不要忘了'import sys' – domen 2010-09-01 07:27:41

相关问题