报错信息:

ResourceWarning: unclosed file <_io.TextIOWrapper name='······' mode='r' encoding='utf-8'>
	  file = get_data(file_name='······')

问题代码:

def get_data(file_name):
    rows = []
    testReportDir = "../test/"
    testReportDir_FileName = testReportDir + file_name
    data_file = open(testReportDir_FileName, mode="r", encoding="utf-8")
    reader = csv.reader(data_file)
    next(reader, None)
    for row in reader:
        rows.append(row)
    return rows

原因分析: 缺少close()

解决方案:

with open(testReportDir_FileName, mode="r", encoding="utf-8") as f:
        data_file = f.read()

with open的用途:是python用来打开本地文件的,它会在使用完毕后,自动关闭文件,无需手动书写close()

D:\Program Files (x86)\python-3_5_4\lib\unittest\case.py:605: ResourceWarning: unclosed file <_io.TextIOWrapper name='E:\\pythonFile\\InterFaceFrame\\TestDataFile\\In... 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。 主要是web上传到服务器,然后读取excel中数据并保存到数据库的过程,服务器端会存在c#是否有权限使用excel com组件的问题! 导出也是。 首先,您需要安装css-minimizer-webpack-plugin : $ npm install css-minimizer-webpack-plugin --save-dev 然后将插件添加到您的webpack配置中。 例如: webpack.config.js const MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' ) ; const CssMinimizerPlugin = require ( 'css-minimizer-webpack-plugin' ) ; module . exports = { module 通过selenium server执行自动化测试时,不断提示未关闭资源的警告,网上很多方法都是使用warnings库屏蔽掉告警,下面介绍个简单有效的解决办法。 一、HTTP keep-alive selenium webdriver中有一个构造参数叫keep-alive,默认值为false,这个参数是用来以http长连接的方式来设置remote_connection.RemoteConnection。 以下是源码及参数说明 def _ ResourceWarning: unclosed file ResourceWarning: unclosed file <_io.BufferedReader name=‘F:/acctrure/acctrure_svn/data/productionorder/tst_upload002.XML’> 上面的报错主要是操作文件后没有关闭文件导致,使用with open操作文件或者filename.close关闭(filename你的文件名) Enable tracemalloc to def func(x, y, logfile=None, debug=False): if logfile is not None: warnings.warn('logfile argument deprecated', DeprecationWarning) 使用warning.si... unittest 框架:把原来的自动化脚本修改成:from appium import webdriver from time import sleep import adbbase import unittest class happyfoodTest(unittest.TestCase): #自动化框架,继承unittest.TestCase """Test com.happy.... Python如何输出警告信息,消息,信息,选项,异常,你还Python如何输出警告信息易采站长站,站长之家为您整理了Python如何输出警告信息的相关内容。问题你希望自己的程序能生成警告信息(比如废弃特性或使用问题)。解决方案要输出一个警告消息,可使用 warning.warn()函数。例如:import warningsdef func(x, y, logfile=None, debug=Fal... 虽然没啥影响,但是看起来很不爽,我找了很多资料,终于找到了原因。 需要在python里导入 import warnings。 然后在下面加一行代码warnings.simplefilter... 在运行python selenium时没有报错,但是提示:ResourceWarning ,如下 解决办法,可以通过warnings库来忽略掉相关告警。 需要在python里导入 import warnings。 然后在下面加一行代码warnings.simplefilter(“ignore”, ResourceWarning) 就可以解决问题。