python 命令行参数传入 乘号(*) 时出错
迷茫
迷茫 2017-04-17 12:02:37
[Python讨论组]
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
ringa_lee

这不是python的问题,而是shell的问题。

例如cat *这个命令---cat的行为很单纯,只是从参数表获取文件列表,之后显示每个文件而已,而根本不会执行“列文件列表”这个自己责任之外的动作。

是shell先识别到了*,认为*是shell的通配符,由shell把*替换成文件列表,从而cat程序收到的只是文件列表。

你可以试试用python的subprocess模块去调用你的calc程序,没有了shell的干扰,保管正确。

所以你需要查一下你的shell下,如何去转义*字符,废掉shell将*视为通配符的行为。

忘了markdown要转义*字符,掉坑了!!!-_-#

PHPz

执行

python calc.py 2 "*" 3

就可以了

想绕过转义的话就修改下程序以支持

python calc.py 2 x 3

这样的用法好了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号