作为提高我的python技能的个人项目,我创建了一个检索天气数据的脚本。它需要多个命令行参数来指定位置以及需要哪些特定信息。
我想使用双击创建第二个文件以使用特定的命令行参数运行它。我已经学会了如何将它变成可执行文件/使第二个文件执行它。但是,我不知道如何使用命令行参数运行它。
目前我的辅助文件(包装器?不确定术语)如下所示:
#! /usr/bin/env python
import weather
weather.main()
这样运行但我不知道如何为它创建命令行参数而不从shell运行。我希望有一个简单的可执行文件来快速运行天气。
答案 0 :(得分:0)
好吧,您可以使用os.system
或subprocess
模块调用shell进程。
os.system
接受一个字符串并将其作为命令传递给shell。
import os
os.system("ls -1")
subprocess
获取所有参数的列表(程序本身是第一个参数),并将其作为命令传递。
import subprocess
# Simple command
subprocess.call(['ls', '-1'], shell=True)
看到这些示例,很容易告诉您希望可执行程序调用其中一个(os.system
或subprocess
)。我建议使用后者,因为它提供更多种类。
如果您想了解更多信息,建议您阅读the review of subprocess on Python Module of the Week.。
答案 1 :(得分:0)
添加到您的包装器脚本:
import sys
sys.argv[1:] = ['what', 'ever', 'u', 'want']
在致电weather.main()
之前。