擅长:python、mysql、java
<p><code>sys.argv</code>的第一项始终是正在执行的python文件的名称。这意味着<code>len(sys.argv) == 1</code>将是真的,即使没有给出任何参数</p>
<p>要解决此问题,您需要检查<code>len(sys.argv) == 2</code>或<code>3</code>:</p>
<pre><code>if len(sys.argv) == 2:
print("target file: " + sys.argv[1])
# do stuff here
elif len(sys.argv) == 3:
if "foo.py" in sys.argv and "text.txt" in sys.argv:
name = input("put name here:\n ")
# do stuff with the name
</code></pre>