擅长:python、mysql、java
<p><code>sys.argv[1]</code>是<code>str</code>(字符串)类型,字符串是函数。因此,当您试图执行<code>sys.argv[1](db, usr)</code>时,您实际上是在试图执行一个字符串,就好像它是一个函数一样,这是不允许的。在</p>
<p>但是,您可以使用<code>sys.argv[1]</code>内的值来查找函数。你可以用多种方法。一种方法是使用<code>globals()</code>查找函数,它返回映射到实际函数本身的函数名的字典。在</p>
<p>例如:</p>
<p>假设您使用以下命令执行程序:<code>python myScript.py argument1</code>。这意味着<code>sys.argv[1]</code>的值是<code>"argument1"</code>。然后使用这个值并在字典中查找<code>globals()</code>返回的函数(或者,如果您与调用的函数在同一范围内,则可以使用<code>locals()</code>):</p>
<pre><code>sys.exit(globals()[sys.argv[1]](db, usr))
</code></pre>
<p>另一种方法是自己创建词典:</p>
^{pr2}$