- python连接oracle数据库报DPI-1047: Cannot locate a 64-bit Oracle Client library
没有星期八~
数据库pythonoracle
pthon版本和oracle客户端版本一致即可,即都为64位或都为32位importcx_Oracleimportsysimportostry:ifsys.platform.startswith("darwin"):lib_dir=os.path.join(os.environ.get("HOME"),"Downloads","instantclient_19_21")cx_Oracle.init
- 2015-2016年Unity项目经历
华仔Ivan
蛮牛日志
20150720-Revision269坦克大战项目20150721结算界面添加玩家击杀数倒计时功能封装设置玩家击杀数获取玩家击杀数20150722相机的ClearFlags、Depth、P驯龙:主相机Depthonly,3,P=0,7,-4.67相机0Depthonly,5,P=0,0,114.9相机2Depthonly,4,P=0,0,114.9相机3Depthonly,2,P=0,0,114
- python 实现自动批量下载腾讯在线excel
肆小猿
pythonpythonpycharm
python批量下载腾讯在线文档【如需要源代码供参考,可以留言邮箱,看到的话就发一下。】pthon自动批量下载腾讯在线文档,对于大量实时更新维护的在线文档,可以随时轻松自动化批量下载在线文档,无需耗费人工下载。腾讯在线文档标签有时候会随版本变动,需要自己做标签调试。defdownload_by_url(self,url=""):self.driver.get(url)self.driver.imp
- 那就让你们美滋滋吧!
勇猛精进ST
应pthon同学的邀请,今天转载他的一篇文章。pthon同学ID:pthon_那就让你们美滋滋吧!最近刷知乎刷出了一个有趣的问题,你怎么能避免让傻瓜气到你?高赞答主纷纷给出了自己的对策,放下手机,我思绪万千,突然想到了一个有趣的问题,若是古人他们会如何做呢?最先想到的是屈原,身为贵族,面对昏庸的帝王,纷乱的天下,他在与天斗,与地斗,与人斗后选择了死亡。然而高尚的知识分子除了死亡大都没有什么选择,如
- unity中RenderTexture显示图片中如何带透明通道
晚安黎明
unityui
这里准备了两个相机,一个用于显示ui界面,一个用于显示需要使用rt的相机,如下:我们将Canvas模式改为camera给到UICamera,设置cullingmask为ui:接下来,在modelCamera中将cullingMask指向自己定义的层,我在这里使用Model层。把ClearFlags设置为SolidColor纯色模式,a的值设置为0。 解释一下这里为什么不用depthonly仅深度
- redis基本使用
`越努力越幸运~
redis数据库缓存
文章目录redis介绍和安装redis配置文件启动pthon操作普通连接和连接池最好写成单例字符串操作hash类型操作list类型操作redis的其他操作django只要Redis使用缓存案例redis介绍和安装redis是什么?-非关系型数据库:redis,mongodb,es,clickhouse,influxDBnosql:notonlysql-关系型数据库:mysql,oracle,pos
- pthon3.8版本之后rdkit安装之后缺少dll文件的问题
Ai_Chem
python
pthon3.8版本之后rdkit安装之后缺少dll文件的问题描述原因解决方法描述出现:fromrdkit.Chem.rdmolfilesimport*ImportError:DLLloadfailedwhileimportingrdmolfiles:找不到指定的程序。原因使用下面两种方法都是安装的之前版本的rdkit,python3.8之后现在应该是叫rdkit-pypi//两种出错的安装方式c
- 爬虫核心模块 -- reqeusts
糯米不开花ぴ
python爬虫python
前言:激动的搓搓小手,从python基础到前端知识,经过一些列的打基础学习之后,终于要正式开启爬虫之旅,让我们一起由浅入深的学习吧~~1.requests概述requests作为一个专门为人类编写的HTTP请求库,其易用性很强,因此在推出之后就迅速成为Pthon中首选的HTTP请求库。requests库的最大特点是提供了简单易用的API,让编程人员可以轻松地提高效率。由于requests不是Pyt
- python应该安装哪个版本好_python2017安装哪个版本知乎
KyrieXu11
python应该安装哪个版本好
2020-12-0712:06齐敦禹客户经理1–下载python3.5的包在python官网下载tgz包就可以了。其实下面的2个包其一都可以使用Python-3.5.1.tgz(这个不是编译过的东西,不能解压之后直接使用)Python-3.5.1.tar.xz(这个是pthon的源码)2–解压文件tar-xfPython-3.5.1.tgz3–解压之后有一个目录Python-3.5.1,进入目录c
- 如何用pthon连接mysql和mongodb数据库【极简版】
东离与糖宝
pythonMongoDBmysql数据库mysqlmongodb
文章目录发现宝藏前言1.连接mysql1.1安装PyMySQL1.2导入PyMySQL1.3建立连接1.4创建游标对象1.5执行查询1.6关闭连接1.7完整示例2.连接mongodb2.1安装PyMongo2.2导入PyMongo2.3建立连接2.4选择数据库和集合2.5插入文档2.6查询文档2.7更新文档2.8删除文档2.9关闭连接3.0完整示例3.示例3.1需求分析3.2完整代码3.3代码分析
- pthon列表解析
heibut不相信眼泪
python
列表解析的一般形式是[expressionforiteminiterable],其中expression是要在列表中计算的表达式,item是迭代对象中的每个元素,iterable是一个可迭代对象,例如列表、元组或字符串。params=[(0,1),(0,2),(3,1)][normal(x,mu,sigma)formu,sigmainparams]注:normal是一个函数在这个例子中,表达式就是
- Python的变量与数据类型
issa的学习频道
Python基础python开发语言
Pthon基础学习方法:在Python学习初期,将使用一些小案例/小功能,以读懂代码为目标,学习Python的基础知识;有了Python基础后,将以分析需求,设计程序,实现功能为目标进一步学习,解决一些实际的问题;请按照文章的思路进行学习,文章中包含一些练习题,可以在自己的PythonIDE中实现,如果你完全没有接触过任何Python工具,可以与我联系。Python变量与数据分析示例小程序-录入学
- Python使用http代理爬取dy视频播放量
super_ip_
pythonhttp开发语言
现在在gpt的加持下写一些简单的代码还是很容易的,效率高,但是要有一点基础,不然有时候发现不了问题,这些都需要经验积累和实战,最好能和工作结合起来,不然很快一段时间就忘的干干净净了,下面就是简单的pthon的简单使用在本文中,我们将探讨如何使用Python编写一个爬虫程序来爬取dy视频播放量。在这个过程中,我们将使用requests库发送HTTP请求,BeautifulSoup库解析HTML内容,
- Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解
昊虹AI笔记
DjangoPython基础pythondjango
01-综述可以使用Python内置的logging模块来实现Django项目的日志记录。所以与其说这篇文章在讲Django的“日志功能-日志模块-日志输出”,不如说是在讲Pthon的“日志功能-日志模块-日志输出”,即Python的logging模块。下面用一个实例来进行讲解。02-实例代码及运行效果现在我要在Django的视图函数index()中输出之前用print()输出的信息。用loggin
- QMVS 如何安装
墨染天姬
QCM2290androidwindowddr
安装简介:一定PC要是64位系统且内存超过16G才可以。1.安装adb在网上下载最新的adb,并拷贝到:C:\Windows\SysWOW64C:\Windows\System32目录下即可注:环境变量添加:2.安装pthon2.7,腾讯管家-软件管理安装,添加环境变量C:\Users\Admin>python--versionPython2.7.18C:\Users\Admin>3.安装Node
- Unity UI 适配问题汇总
听说要读欧拉
unityunity3d锚点
UnityUI适配问题汇总Canvas组件下的RenderMode选择总共有三种模式OverlayUI的渲染总是在画面的最上层,缺陷:不能渲染粒子特效WorldSpaceUI在空间总渲染Camera优势:可以渲染粒子最终选择Camera模式。RenderCamera选择另建一个UICamera专门渲染UI。UICamera设置ClearFlags选择DepthOnly,CullingMask选择只
- 缺省值及属性(Python)
时越zz
笔记python
引用类型的缺省值defbar(x=[]):#这里缺省值是引用类型,它每次调用时的地址一样x.append(1)#当在缺省值中添加一个元素时它的内存地址不变print(x)bar()#[1]bar()#[1,1]bar()#[1,1,1]defaults因为函数也是对象,每个函数被定义后,就生成了一个函数对象和这个函数名,这个标识符关联pthon把函数的默认值放在了函数对象的属性中,这个属性伴随着这
- 模型复现:VGG-16
公众号学一点会一点
深度学习
VGG-16是在图像分类和检测任务中很常用的一种网络结构。本文通过pytorch来复现一下。文章摘要Inthisworkweinvestigatetheeffectoftheconvolutionalnetworkdepthonitsaccuracyinthelarge-scaleimagerecognitionsetting.Ourmaincontributionisathoroughevalu
- unity操作_Camera c#
__water
unity游戏引擎
观察场景中MainCamera的清除背景ClearFlags第一种:Skybox天空盒渲染制作3D游戏使用第二种:SolidColor制作2D游戏第三种:Depthonly多个摄像机叠加渲染相对重点学会多个摄像机设置Depthonly使用第四种:Don'tClear不清除每一帧渲染通常不会用到CullingMask选择性渲染部分层级可以指定只渲染对应层级的对象解释:我们观察unity场景中Cube
- wxpython笔记
weixin_33756418
python测试c/c++
转自http://hi.baidu.com/jingxue1979/item/936180b9224dee40ba0e12951.创建一个显示一个图像的文件包括三步:a.创建一个可以工作的最小wxPthon程序;b.组织和细化;c.显示图像。2.创建空的最小wxPthon程序需要完成五个必要的步骤:a.导入wxPython包;b.wxPython应用程序类的子类化;c.定义该应用程序的初始化方法;
- python timeout(设置函数超时退出)
嘿,不许笑
python小工具
最近碰到一个场景用opencv链接网络摄像头,但是摄像头的地址不一定是正确的,或者是打开的,当错误的时候会直接报错,但是当地址正确却没有打开,或者网络限制的时候,会等上半天才返回,并且不报错???,这哪里行,我都用pthon了,还能不知道人生苦短嘛~于是一顿操作猛如虎~好吧,多线程、信号量、巴拉巴拉,算了,还是问问度娘然后看到了这个文章https://www.cnblogs.com/sunshin
- Python中match...case的用法
ctbinzi
pythonmatchcaseswitch
在C语言中有switch...case语句,Pthon3.10之前应该是没有类似语法,从Python3.10开始引入match...case与switch分支语句用法类似,但有细微差别,总结如下:1.语法肉眼可见的是关键词从switch变成了match,同时match...case语句遵循Python语法风格,如下:switch(condition){case1:do_something_1();
- Python进阶爬虫——Class5:xpath
alexhikaru
python爬虫json
知识点:xpath导入xpath语法知识点说明:1.xpath导入:importreuqests#导入requests包,获取源代码fromlxmlimporthtml#xpath在lxml中importjson#pthon对象与json对象互相转换python不能保存字典,需要通过json.dumps()转换成字符串进行保存。json.loads()转换成python对象格式。2.xpath语法
- maskrcnn训练自己的数据集
L_YXDE
目标检测深度学习计算机视觉python
一、搭建环境代码地址:https://github.com/facebookresearch/maskrcnn-benchmark1、创建环境我选择的是pthon=3.8,当低于3.8时,opencv将不满足安装条件condacreate-namemaskrcnnpython=3.82、激活环境condaactivatemaskrcnn3、thisinstallstherightpipanddep
- Cesium 中 DerivedCommand 的作用
DSLMing
cesium原理cesium
Cesium中DerivedCommand的作用根据代码看,DerivedCommand主要实现了以下几点:从原始shader程序派生出仅写深度(depthonly)的shader程序和渲染状态。通过getDepthOnlyShaderProgram和getDepthOnlyRenderState实现。创建仅写深度的DerivedCommand,通过createDepthOnlyDerivedCo
- 我们是如何一步步走向平庸的
勇猛精进ST
pthon哥又来了,他好像也喜欢上了写作,并且挺愿意在我号上发表,挺好!虽然我有些不太认同他的观点,不过,有人愿意在我号上发表,我已经很欣慰了!以下文章均为pthon个人观点!以下文章为pthon原创,我们是如何一步步走向平庸的昨天刷知乎时刷出了一个经典的成功学问题,如何做事才可以成功?这种问题实属辣鸡,本想习惯性的退出时,角落里一个与成功学相悖的问题引起了我的极大兴趣,问题是:我们是如何一步步走
- request发送http请求
测试小婉
接口自动化测试httplua网络协议自动化测试软件测试接口测试
今天正式开始为大家介绍接口自动化,相信很多做测试的朋友,都用过一些工具,比如jmeter,loadrunner,postman等等,所以今天先给那些基础不太好的同学,先讲讲postman如何来测接口以及如何用pthon代码的方式来发送http请求首先,我们在做接口测试之前,一般会拿到开发人员那边的接口文档,没有接口文档是很难快速高效率的去进行测试工作的这部分接口测试,所以,得提前准备好或者拿到一份
- Python学习之路:Django项目遇到ImportError: cannot import name ‘url‘ from ‘django.conf.urls‘解决方法(亲测有效)
UniMagic
Python3djangopython学习
配置:Pthon3.8.10-Django4.1.1使用命令创建数据库时:pythonmanage.pymigrate提示错误:fromdjango.conf.urlsimportre_pathasurlImportError:cannotimportname're_path'from'django.conf.urls'经查阅相关资料,并实际操作,解决问题,具体办法往下:修改生成项目下的urls.
- 在 Windows 上安装 OpenCV – C++ / Python
Demon dai
opencv图像处理windowsopencvc++python
在这篇博文中,我们将在Windows上安装适用于C++和Python的OpenCV。C++安装是在自定义安装exe文件的帮助下完成的。而Python的安装是通过Anaconda完成的。在Windows上安装OpenCV–C++/Python(opencv官方Wndows上安装openCV-C++/Pthon的链接,但不建议跟着操作,Python的伙伴们可以跟着它的链接操作,我以下只讲了C++的)一
- 关于python的几个问题
DongHappyyy
pythonpythondjangosocket
1、为什么Django的后端程序不能开多进程?2、PthonSocket的服务端程序开多进程,开多线程服务端importtimeimportsocketfrommultiprocessingimportProcess,Queueimportthreadingdefrun(queue,flag):idx=1whileTrue:idx=idx+1ifqueue.full():queue.get(idx
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持