我正在完成将代码从python2.7移至python3.5的操作,然后打开warnings以检查另一个模块。使用os.popen()时,出现以下错误。ResourceWarning: unclosed file <_io.TextIOWrapper name=3 encoding='UTF-8'>上面的示例中的“ name = 3”中的数字会有所不同,具体取决于代码,但始终为整数。此代码段产生错误,但尚未打开任何文件,这与错误消息完全冲突unclosed file。我的环境是使用python 3.5.2的Linux#!/usr/bin/env python3# -*- coding: UTF-8 -*-import warningsimport oswarnings.simplefilter('default')sink_list = os.popen('pacmd list-sinks | grep "name:" | cut --delimiter=: -f2').readlines()print (sink_list)sink = os.popen('pacmd list | grep "Default sink name" | cut --delimiter=: -f2').readline()print(sink)结果如下:test.py:6: ResourceWarning: unclosed file <_io.TextIOWrapper name=3 encoding='UTF-8'> sink_list = os.popen('pacmd list-sinks | grep "name:" | cut --delimiter=: -f2').readlines()[' <alsa_output.pci-0000_00_1b.0.analog-stereo>\n', ' <fs2-Equaliser>\n', ' <fs2-bs2b>\n']test.py:8: ResourceWarning: unclosed file <_io.TextIOWrapper name=3 encoding='UTF-8'> sink = os.popen('pacmd list | grep "Default sink name" | cut --delimiter=: -f2').readline() fs2-Equaliser有谁知道为什么发出此警告,尤其是在这种情况下,没有打开文件?
添加回答
举报
0/150
提交
取消