首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"zsh:未知文件属性: 0“在命令行上传递Python元组

"zsh:未知文件属性: 0“在命令行上传递Python元组
EN

Stack Overflow用户
提问于 2020-12-04 15:55:30
回答 1查看 3.8K关注 0票数 2

我使用zsh (5.8)从Mac终端调用Python (3.8)脚本,导致标题中的错误消息。我找到了一个解决这个问题的方法(虽然不是很优雅),但我想了解到底出了什么问题。

我的Python文件test.py

代码语言:javascript
运行
复制
import argparse
from ast import literal_eval

parser = argparse.ArgumentParser(description="test")
parser.add_argument("--test", default="", type=str, help="test")

args = parser.parse_args()

print(literal_eval(args.test))

使用python test.py --test (0.4,0.3)从命令行调用此脚本将导致此错误消息zsh: unknown file attribute: 0

这是什么意思?

关于literal_eval的解释

literal_eval接受类似于"(0.3,0.4)"的字符串,并将其计算为tuple s.t。

代码语言:javascript
运行
复制
a = literal_eval("(0.3,0.4)")
type(a)
<class 'tuple'>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-04 16:01:26

最好的解决方法是将字符串放入引号中,因此您可以这样称呼它:

代码语言:javascript
运行
复制
python test.py --test '(0.4,0.3)'

错误的原因是zsh试图使用全局魔术将(0.4,0.3)扩展为文件名,但是当然,由于您不打算使用它,所以语法不太正确,因此出现了错误。只对字符串使用引号'"

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

https://stackoverflow.com/questions/65146701

复制
相关文章

相似问题

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