Python Flask应用程序由于sys arg参数而忽略cURL请求的代码,但在sys arg中未传递任何内容

Python Flask应用程序由于sys arg参数而忽略cURL请求的代码,但在sys arg中未传递任何内容,python,flask,python-unittest,tox,Python,Flask,Python Unittest,Tox,我有一个小烧瓶应用程序,其代码如下。 请注意,我删除了大量代码来简化我的问题。如果需要添加或缺少任何内容,请告诉我 1 @app.route("/app/data/", methods=['POST']) 2 def methodpost(): 3 4 if 'Content-Type' in request.headers and request.headers['Content-Type'] == 'application/json': 5 6 #some_c

我有一个小烧瓶应用程序,其代码如下。 请注意,我删除了大量代码来简化我的问题。如果需要添加或缺少任何内容,请告诉我

1   @app.route("/app/data/", methods=['POST'])
2   def methodpost():
3
4       if 'Content-Type' in request.headers and request.headers['Content-Type'] == 'application/json':
5
6       #some_code
7       #some_more_code
8
9       if not any(['unittest' or 'discover' in arg for arg in sys.argv]):
10
11          #code_calls_external_stuff
12          #more_code
13
14
15      return msg
16
17
18      app.run(host=0.0.0.0, debug=debug, port=5000)
当我使用以下方法对其进行卷曲时:

----FROM:----
if not any(['unittest' or 'discover' in arg for arg in sys.argv]):
----TO:----
if not any(['unittest' in arg for arg in sys.argv]):
curl-X POST localhost:5000/app/data/-H内容类型:application/json-d@jsonBody

它不进入第11行和第12行

但是,当我将第9行修改为以下内容时:

----FROM:----
if not any(['unittest' or 'discover' in arg for arg in sys.argv]):
----TO:----
if not any(['unittest' in arg for arg in sys.argv]):
然后它工作并调用LINE-11和LINE-12。上面添加的内容只是为了在应用程序未运行时运行UnitTest和Tox,因为我不想进行外部调用。。。是否有一种方法可以绕过它,同时保持代码的原样

if not any(['unittest' or 'discover' in arg for arg in sys.argv]):
没有做你想做的事。将此简化为

['x' or 'y' in a for a in ['y']]

在REPL中运行它,并思考它为什么会以['x']响应。

我不确定是否遵循抱歉,这里是初学者,但我根本没有向它传递任何sys.args?sys.args在编写的代码中没有任何效果。or的前导确保答案总是['unittest',],而不是任何['unittest']都是假的。对了,明白了。我现在已经把它分成两个语句,这是目前的一个解决办法。。。