扫码关注官方订阅号
业精于勤,荒于嬉;行成于思,毁于随。
这不是python的问题,而是shell的问题。
例如cat *这个命令---cat的行为很单纯,只是从参数表获取文件列表,之后显示每个文件而已,而根本不会执行“列文件列表”这个自己责任之外的动作。
是shell先识别到了*,认为*是shell的通配符,由shell把*替换成文件列表,从而cat程序收到的只是文件列表。
你可以试试用python的subprocess模块去调用你的calc程序,没有了shell的干扰,保管正确。
所以你需要查一下你的shell下,如何去转义*字符,废掉shell将*视为通配符的行为。
忘了markdown要转义*字符,掉坑了!!!-_-#
执行
python calc.py 2 "*" 3
就可以了
想绕过转义的话就修改下程序以支持
python calc.py 2 x 3
这样的用法好了
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这不是python的问题,而是shell的问题。
例如cat *这个命令---cat的行为很单纯,只是从参数表获取文件列表,之后显示每个文件而已,而根本不会执行“列文件列表”这个自己责任之外的动作。
是shell先识别到了*,认为*是shell的通配符,由shell把*替换成文件列表,从而cat程序收到的只是文件列表。
你可以试试用python的subprocess模块去调用你的calc程序,没有了shell的干扰,保管正确。
所以你需要查一下你的shell下,如何去转义*字符,废掉shell将*视为通配符的行为。
忘了markdown要转义*字符,掉坑了!!!-_-#
执行
就可以了
想绕过转义的话就修改下程序以支持
这样的用法好了