繁体   English   中英

命令行输入

[英]Command-line input

我需要编写一个完整的程序来获取三段数据,然后对其进行处理。 这三项信息是布尔值,字符串和整数。 程序的逻辑是这样的:如果布尔值是True,则将字符串输出两次,一次用双引号引起来,一次不使用双引号-否则将输出两次。 我可以做的很好,但是然后我必须编写相同的程序,但是这次使用命令行输入,到目前为止,下面的程序是我所拥有的,但是我一直遇到找不到命令的错误。我觉得我的“ for我在范围内”是错误

 import sys

 def main():
     x = sys.argv[0].lower() == 'true'
     y = str(sys.argv[1])
     z = int(sys.argv[2])
     for i in range(0,len(sys.argv),1):
        print("   ",i,":",sys.argv[i])
     return 0;

当文件不在$ PATH中或从未使文件可执行时,shell响应为“找不到命令”。 首先确保它可以通过以下方式执行

chmod +x myfile.py

第二,确保它在您的路径中

which myfile.py

如果它不在您的路径中,则需要使用显式路径(例如“ ./myfile.py”)执行它

如果它不是可执行文件,并且您没有将其更改为可执行文件,则需要使用

python [full path or .]/myfile.py

在您的评论中,您说您用“ python3”执行了它,请再次检查它是否对您的系统是正确的。

我差点忘了补充说,脚本中的第一行需要

#!/usr/bin/python

或系统中的任何python指向

def main():
     x = sys.argv[1].lower() == 'true'
     y = str(sys.argv[2])
     z = int(sys.argv[3])
     if x:
         print "'{}'".format(y)
         print '"{}"'.format(y)
     else:
         print 2*z
     return 0;
if __name__ == '__main__':
     main()

将此另存为myfile.py
然后从外壳运行: chmod +x myfile.py && python myfile.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM