我正在修改一些代码以兼容Python 2和Python 3,但在单元测试输出中发现了警告.
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py:601:
ResourceWarning: unclosed socket.socket fd=4,
family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6,
laddr=('1.1.2.3', 65087), raddr=('5.8.13.21', 8080)
Run Code Online (Sandbox Code Playgroud)
我可以忽略警告或完全过滤它.如果是我的服务,我可以connection: close在我的响应(链接)中设置标题.
这是一个展示警告的示例Python 3.6.1:
app.py
import requests
class Service(object):
def __init__(self):
self.session = requests.Session()
def get_info(self):
uri = 'http://api.stackexchange.com/2.2/info?site=stackoverflow'
response = self.session.get(uri)
if response.status_code == 200:
return response.json()
else:
response.raise_for_status()
def __del__(self):
self.session.close()
if __name__ == '__main__':
service = Service()
print(service.get_info())
Run Code Online (Sandbox Code Playgroud)
test.py
import unittest
class TestService(unittest.TestCase):
def test_growing(self): …Run Code Online (Sandbox Code Playgroud) 将图像从iPhone空投到OSX设备时,默认为高效率图像文件(HEIF)格式。我想用Python编辑和修改这些.HEIC文件。
我可以修改手机设置以默认将其另存为JPG,但这并不能真正解决能够使用其他文件类型的问题。我仍然希望能够处理HEIC文件以进行文件转换,提取元数据等。(示例用例-地理编码)
枕头
这是尝试读取此类文件时使用Python 3.7和Pillow的结果。
$ ipython
Python 3.7.0 (default, Oct 2 2018, 09:20:07)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from PIL import Image
In [2]: img = Image.open('IMG_2292.HEIC')
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-2-fe47106ce80b> in <module>
----> 1 img = Image.open('IMG_2292.HEIC')
~/.env/py3/lib/python3.7/site-packages/PIL/Image.py in open(fp, mode)
2685 warnings.warn(message)
2686 raise IOError("cannot identify image file %r"
-> 2687 % (filename …Run Code Online (Sandbox Code Playgroud)