首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过双击运行接受命令行参数的python脚本

问如何通过双击运行接受命令行参数的python脚本
EN

Stack Overflow用户
提问于 2015-01-25 03:55:14
回答 2查看 517关注 0票数 1

作为提高python技能的个人项目,我创建了一个检索天气数据的脚本。它需要多个命令行参数来指定位置和所需的特定信息。

我想使用双击创建第二个文件,使用特定的命令行参数运行它。我已经学习了如何将它变成可执行文件/使第二个文件执行它。但是,我不知道如何使用命令行参数来运行它。

目前我的次要文件(包装器?..(不确定术语)如下所示:

代码语言:javascript
复制
#! /usr/bin/env python
import weather
weather.main()

这将运行,但我不知道如何为它创建命令行参数,而不需要从shell运行。我想有一个简单的可执行文件来快速运行天气。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-25 04:05:45

您可以使用os.system或subprocess模块调用shell进程。

os.system接受一个字符串并将其作为命令传递给shell。

代码语言:javascript
复制
import os
os.system("ls -1")

而subprocess则接受所有参数的列表(程序本身是第一个参数),并将其作为命令传递。

代码语言:javascript
复制
import subprocess

# Simple command
subprocess.call(['ls', '-1'], shell=True)

看到这些示例,很容易看出您希望可执行程序调用其中任何一个(os.system或subprocess)。我建议使用后者,因为它提供了更多的多样性。

如果你想要更多的信息,我建议你读每周Python模块的子流程回顾。。

票数 0
EN

Stack Overflow用户

发布于 2015-01-25 04:05:55

添加到包装脚本中:

代码语言:javascript
复制
import sys

sys.argv[1:] = ['what', 'ever', 'u', 'want']

在打电话给weather.main()之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28133043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档