首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >fswatch解析的参数没有返回预期值?

fswatch解析的参数没有返回预期值?
EN

Stack Overflow用户
提问于 2020-06-19 05:02:23
回答 1查看 48关注 0票数 0

我可能误解了fswatchxargs -I {}解析参数。这应该返回我指定的目录中任何新事件的文件路径,对吗?

下面的命令用于监视/my/path/to/watch,并在/my/path/to/watch中发生新事件时触发my_script.pymy_script.py需要与新事件相关联的文件路径,这就是我认为我传递给{}的路径。

我的命令:

代码语言:javascript
运行
复制
fswatch -0  /my/path/to/watch | xargs -0 -n 1 -I {} python my_script.py {} > fswatch.output &

my_script.py中,我有

代码语言:javascript
运行
复制
import sys
print sys.argv[0]

但这只返回my_script.py,我期望它返回与/my/path/to/watch中的新事件相关的文件路径。

这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-19 05:49:40

当您从终端执行程序时,第一个参数将始终是程序的名称,这意味着sys.argv将是脚本的名称。您可能希望使用sys.argv1,因为sys.argv之后的所有内容都是传递给脚本的实际参数。

你可以这样看它:

代码语言:javascript
运行
复制
$ python my_script.py foo var

sys.args将如下所示:

代码语言:javascript
运行
复制
|     0        |  1  |  2  | 
| my_script.py | foo | var |

基本上,sys.args是脚本的名称,sys.argv1是传递给它的实际参数,依此类推。

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

https://stackoverflow.com/questions/62459359

复制
相关文章

相似问题

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