我注意到这cout << hex给了我奇怪的结果,我无法找到解决原因的地方.什么我做的是简单地分配一些值,既uint8_t和uint16_t,然后试图将它们写入标准输出.当我运行这个:
uint8_t a = 0xab;
uint16_t b = 0x24de;
cout << hex << a << endl;
cout << hex << b << endl;
Run Code Online (Sandbox Code Playgroud)
我得到了结果:
$./a.out
24de
$
Run Code Online (Sandbox Code Playgroud)
没有显示uint8_t的值.可能是什么导致了这个?我认为不会有一种类型的cout实现而不是另一种类型.
使用flask的app.logger成员函数(例如app.logger.error)会导致pylint报告E1101(no-member)错误,即使这些成员app.logger是在运行时定义的也是如此。
可以使用以下文件来复制此文件:
app.py
import flask
app = flask.Flask(__name__)
@app.route('/')
def say_hello():
app.logger.debug('A debug message')
app.logger.error('An error message')
return 'hello'
Run Code Online (Sandbox Code Playgroud)
requirements.txt
pylint==2.1.0
Flask==1.0.2
Run Code Online (Sandbox Code Playgroud)
使用virtualenv以下命令重现问题的示例命令:
(此处使用的是Python 3.5,但问题并不特定于该版本)
virtualenv --python=python3.5 env
source env/bin/activate
pip install pip==18.0
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
最后,运行pylint:
pylint -E app
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
************* Module app
app.py:9:4: E1101: Method 'logger' has no 'debug' member (no-member)
app.py:10:4: E1101: Method 'logger' has no 'error' member (no-member)
Run Code Online (Sandbox Code Playgroud)
是否有避免这些误报的好方法?