以下代码段使用输出进行注释(如ideone.com上所示):
print "100" < "2" # True
print "5" > "9" # False
print "100" < 2 # False
print 100 < "2" # True
print 5 > "9" # False
print "5" > 9 # True
print [] > float('inf') # True
print () > [] # True
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么输出是这样的?
我有以下代码:
parser.add_argument('file', help='file to test')
parser.add_argument('-revs', help='range of versions', nargs='+', default=False)
Run Code Online (Sandbox Code Playgroud)
有没有办法-revs在使用它时不使用标志,如下所示:
./somescript.py settings.json 1 2 3 4
Run Code Online (Sandbox Code Playgroud) 与此问题相关的python 中的命令行参数。
使用 SYS 模块,如何在代码中使用命令行参数作为函数名称和函数值 - 而不导入其他模块?
我想要一个仅使用 sys 的解决方案。另外,请不要使用可变长度参数答案。这些令人困惑。假设在命令行中仅指定了函数名称和一个函数变量。
import sys
def reversal(aaa): return aaa[::-1]
a = sys.argv[1]
b = sys.argv[2]
print a(b)
Run Code Online (Sandbox Code Playgroud)
在命令行中
cpu_location$ python blah.py reversal 'abcdefg'
Traceback (most recent call last):
File "blah.py", line 8, in <module>
print a(b)
TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)
我想知道如何使 sys.argv[1] 被视为函数名,从而调用我定义的函数。
我在这方面看到的其他帖子是以下内容的混搭: - 处理 C/C++ 并添加一些其他模块 - 根本不使用 sys - 使用 argv 项作为函数的值和其他文件的名称,而不是功能