精华内容
下载资源
问答
  • Android M对应用的授权策略做了变动,如果我们想调用getDeviceId()获取手机串码,只在Manifest里添加android.permission.READ_PHONE_STATE权限是不够的,如果不做权限的动态申请和处理,可能会报如下错误: Android...

    Android M对应用的授权策略做了变动,如果我们想调用getDeviceId()获取手机串码,只在Manifest里添加android.permission.READ_PHONE_STATE权限是不够的,如果不做权限的动态申请和处理,可能会报如下错误:

     AndroidRuntime: java.lang.SecurityException: getDeviceId: Neither user 10201 nor current process has android.permission.READ_PHONE_STATE.
    

    那如何在代码中动态申请权限呢?分四步进行:

    第一步,在Manifest文件中添加权限:

    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    

    第二步, 要获取权限进行操作的Activity实现 ActivityCompat.OnRequestPermissionsResultCallback接口(这一步视情况而定,有的Activity基类已经默认实现了这个接口,比如FragmentActivity,就不用再实现了):

    public class MainActivity extends Activity
            implements ActivityCompat.OnRequestPermissionsResultCallback {
    

    第三步,动态申请权限并做处理:

            int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE);
    
            if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_READ_PHONE_STATE);
            } else {
                //TODO
            }
    

    其中REQUEST_READ_PHONE_STATE 是自定义的类常量,可以像下面这样在activity中定义:
    public final static int REQUEST_READ_PHONE_STATE = 1;

    第四步, 重写onRequestPermissionsResult()方法,对权限申请结果做处理:

    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch (requestCode) {
            case REQUEST_READ_PHONE_STATE:
                if ((grantResults.length > 0) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
                    //TODO
                }
                break;
    
            default:
                break;
        }
    }
    

    下面对关键方法做一个解释:

    1、检查是否有权限:
    ActivityCompat.checkSelfPermission

    eg:检查是否有读取联系人权限
    ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_CONTACTS)!= PackageManager.PERMISSION_GRANTED

    2、是否重新请求授权(用户之前拒绝过):
    ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.READ_CONTACTS)
    如果应用之前请求过此权限但用户拒绝了请求,此方法将返回 true,意思是说要给用户一个 解释,告诉用户为什么要这个权限。
    然而,在实际开发中,很多手机对原生系统做了修改,比如小米4的6.0的shouldShowRequestPermissionRationale 就一直返回false,而且在申请权限时,如果用户选择了拒绝,则不会再弹出对话框了。如果是这样,我们可以在回调里面处理,如果用户拒绝了这个权限,则打开本应用信息界面,由用户自己手动开启这个权限。

    3、请求授权:
    ActivityCompat.requestPermissions
    注意的是,调用此方法后,系统会弹出一个权限申请框,供用户选择,这个选择框我们无法更改:
    这里写图片描述

    而且此时activity会调用onPause()方法,用户做了选择之后,此对话框消失,onResume()方法又会执行。

    注:在华为设备上测试,如果用户勾选了“不再询问”的选项的话,shouldShowRequestPermissionRationale会返回false。而且如果再次调用requestPermissions申请权限,就不会有申请框弹出,而是直接返回申请失败。但是activity的生命周期方法的执行顺序和有系统提示框弹出时的顺序是一样的。

    4、搜权结果,通过 ActivityCompat.OnRequestPermissionsResultCallback 回调获取授权结果,判断是否授权。

        @Override
        public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
            if (requestCode == REQUEST_CODE_INFO_OF_PHONE_SETTINGS) {
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    	            L.d("imei", "permission is granted after requested!");
                } else if (grantResults[0] == PackageManager.PERMISSION_DENIED){
    	            L.d("imei", "permission is not granted after requested!");
    	            //这里表示申请权限后被用户拒绝了
                } else {
                    L.d("imei", "permission is not granted after requested!");
                }
            }
        }
    

    关于更多运行时请求权限的问题,可以查看https://developer.android.com/training/permissions/requesting.html
    更详细请看http://mdsa.51cto.com/art/201508/489882_all.htm#topx

    展开全文
  • java.sql.SQLRecoverableException:IO 错误:Got minus one from a read call 据开发人员描述:起多个服务,最后服务的时候报这个错,无论最后的服务是啥,提供的报错日志 是java.sql.SQLRecoverableException:IO ...

    应用报错:

     

              java.sql.SQLRecoverableException:IO 错误:Got minus one from a read call

     

    据开发人员描述:起多个服务,最后服务的时候报这个错,无论最后的服务是啥,提供的报错日志
    是java.sql.SQLRecoverableException:IO 错误:Got minus one from a read call

    原因:
            当应用连接数据库时,是通过连接池的机制进行连接的,数据库参数:max-session决定连接池的

    大小,而应用同样也有一个参数,这个参数表示它连接数据库连接池所占用的最少资源。

     

    例如:总共有10个应用需要连接数据库,如果每个应用连接数据库的最小连接数为10,那么10个应用总共会
    有100个连接,这样就要求数据库连接池的max-session必须大于100,否则就会报“ Got minus one from a read call”的错误。

    解决方法:

    修改max-session



     

    1. 查看processes和sessions参数

     


      SQL> show parameter processes

      NAME                                  TYPE         VALUE

      db_writer_processes                  integer     1

      gcs_server_processes                 integer     0

      job_queue_processes                  integer     10

      log_archive_max_processes            integer     2

     

     

      processes                            integer     50

     

     

     

     


      SQL> show parameter sessions

      NAME                                  TYPE         VALUE

      license_max_sessions                 integer     0

      license_sessions_warning             integer     0

      logmnr_max_persistent_sessions       integer     1

      sessions                             integer     60

     

     

      shared_server_sessions               integer

     

     

     

     


    2. 修改processes和sessions值

      SQL> alter system set processes=300 scope=spfile;

      系统已更改。

      SQL> alter system set sessions=335 scope=spfile;

      系统已更改。

    3. 修改processes和sessions值必须重启oracle服务器才能生效

      ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:

      sessions=(1.1*process+5)


     4.重启Oracle

     

      shutdown immediate;

      startup;

     

    5.再查看processes和sessions参数

      SQL> show parameter processes

      NAME                                  TYPE         VALUE

      db_writer_processes                  integer     1

      gcs_server_processes                 integer     0

      job_queue_processes                  integer     10

      log_archive_max_processes            integer    300

      processes                            integer     50

     

     


      SQL> show parameter sessions

      NAME                                  TYPE         VALUE

      license_max_sessions                 integer     0

      license_sessions_warning             integer     0

      logmnr_max_persistent_sessions       integer     1

      sessions                             integer    335

      shared_server_sessions               integer
     

     

    修改生效。

    展开全文
  • 深入理解linux下write()和read()函数

    万次阅读 多人点赞 2017-05-13 20:09:11
    例如,距文件末尾还有50个字节而请求读100个字节,则read返回50,下次read将返回0。 (2)对于网络套接字接口,返回值可能小于count,但这不是错误,详细解释参考这篇文章...

    1、write()

    函数定义:ssize_t write (int fd, const void * buf, size_t count); 

    函数说明:write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。

    返回值:如果顺利write()会返回实际写入的字节数(len)。当有错误发生时则返回-1,错误代码存入errno中。

     

    附加说明:

    (1)write()函数返回值一般无0,只有当如下情况发生时才会返回0:write(fp, p1+len, (strlen(p1)-len))中第三参数为0,此时write()什么也不做,只返回0。man手册给出的write()返回值的说明如下:

    (2)write()函数从buf写数据到fd中时,若buf中数据无法一次性读完,那么第二次读buf中数据时,其读位置指针(也就是第二个参数buf)不会自动移动,需要程序员来控制,而不是简单的将buf首地址填入第二参数即可。如可按如下格式实现读位置移动:write(fp, p1+len, (strlen(p1)-len))。 这样write第二次循环时便会从p1+len处写数据到fp, 之后的也一样。由此类推,直至(strlen(p1)-len)变为0。

    (3)在write一次可以写的最大数据范围内(貌似是BUFSIZ ,8192),第三参数count大小最好为buf中数据的大小,以免出现错误。(经过笔者再次试验,write一次能够写入的并不只有8192这么多,笔者尝试一次写入81920000,结果也是可以,看来其一次最大写入数据并不是8192,但内核中确实有BUFSIZ这个参数,具体指什么还有待研究)

    以下通过一个例子具体说明write函数用法

    #include <string.h>
    #include <stdio.h>
    #include <fcntl.h>
    int main()
    {
      char *p1 = "This is a c test code";
      volatile int len = 0;
    
      int fp = open("/home/test.txt", O_RDWR|O_CREAT);
      for(;;)
      {
         int n;
    
         if((n=write(fp, p1+len, (strlen(p1)-len)))== 0)   //if((n=write(fp, p1+len, 3)) == 0) 
         {                                                 //strlen(p1) = 21
             printf("n = %d \n", n);
             break;
         }
         len+=n;
      }
      return 0;
    }

     

    此程序中的字符串"This is a c test code"有21个字符,经笔者亲自试验,若write时每次写3个字节,虽然可以将p1中数据写到fp中,但文件test.txt中会带有很多乱码。唯一正确的做法还是将第三参数设为(strlen(p1) - len,这样当write到p1末尾时(strlen(p1) - len将会变为0,此时符合附加说明(1)中所说情况,write返回0, write结束。 

    2、read()

    函数定义:ssize_t read(int fd, void * buf, size_t count);

    函数说明:read()会把参数fd所指的文件传送count 个字节到buf 指针所指的内存中。

    返回值:返回值为实际读取到的字节数, 如果返回0, 表示已到达文件尾或是无可读取的数据。若参数count 为0, 则read()不会有作用并返回0。另外,以下情况返回值小于count:

    (1)读常规文件时,在读到count个字节之前已到达文件末尾。例如,距文件末尾还有50个字节而请求读100个字节,则read返回50,下次read将返回0。

    (2)对于网络套接字接口,返回值可能小于count,但这不是错误,详细解释参考这篇文章https://blog.csdn.net/hhhlizhao/article/details/73912578

     

    注意:read时fd中的数据如果小于要读取的数据,就会引起阻塞。(关于read的阻塞情况评论区有朋友有不同意见,笔者查阅资料后作如下补充。)以下情况read不会引起阻塞:

    (1)常规文件不会阻塞,不管读到多少数据都会返回;

    (2)从终端读不一定阻塞:如果从终端输入的数据没有换行符,调用read读终端设备会阻塞,其他情况下不阻塞;

    (3)从网络设备读不一定阻塞:如果网络上没有接收到数据包,调用read会阻塞,除此之外读取的数值小于count也可能不阻塞,原因见上面链接。

    由于笔者水平有限,文中如有谬误之处还请读者朋友指出,以免误导大家。

    展开全文
  • pd.read_csv用法

    万次阅读 多人点赞 2019-04-17 22:16:39
    pd.read_csv(filepath_or_buffer, sep=’, ‘, delimiter=None, header=’infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, ...

    pd.read_csv(filepath_or_buffer, sep=’, ‘, delimiter=None, header=’infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression=’infer’, thousands=None, decimal=b’.’, lineterminator=None, quotechar=’”’, quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=None, compact_ints=None, use_unsigned=None, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)

    import numpy as np
    import pandas as pd
    from pandas import DataFrame
    
    filepath="C:\\Users\\zhouy_000\\Desktop\\python_study\\20190417\\test.csv"
    df=pd.read_csv(filepath,header=0,encoding="gbk")
    print(df)
    # =============================================================================
    #    姓名  年龄         出生日  爱好   关系
    # 0  小王  23   1991/10/2  足球   朋友
    # 1  小丽  23   1992/11/2  篮球  NaN
    # 2  小黑  25  1991/10/18  游泳   同学
    # 3  小白  21    1989/9/9  游戏  NaN
    # 4  小红  25    1990/8/7  看剧  NaN
    # 5  小米  24  1991/12/12  足球  NaN
    # 6  大锤  26    1988/9/9  看剧   个人
    # =============================================================================
    df=pd.read_csv(filepath,header=None,encoding="gbk",names=["A","B","C","D","E"],
                   skiprows=1,skipfooter=1,usecols=["A","B","C"],index_col=0,engine="python")
    print(df)
    # =============================================================================
    #      B           C
    # A                 
    # 小王  23   1991/10/2
    # 小丽  23   1992/11/2
    # 小黑  25  1991/10/18
    # 小白  21    1989/9/9
    # 小红  25    1990/8/7
    # 小米  24  1991/12/12
    # 
    # =============================================================================

    重要参数:

    filepath_or_buffer : 路径 URL 可以是http, ftp, s3, 和 file.

    sep: 指定分割符,默认是’,’C引擎不能自动检测分隔符,但Python解析引擎可以

    delimiter: 同sep

    delimiter_whitespace: True or False 默认False, 用空格作为分隔符等价于spe=’\s+’如果该参数被调用,则delimite不会起作用

    header: 指定第几行作为列名(忽略注解行),如果没有指定列名,默认header=0; 如果指定了列名header=None

    names 指定列名,如果文件中不包含header的行,应该显性表示header=None

    index_col: 默认为None 用列名作为DataFrame的行标签,如果给出序列,则使用MultiIndex。如果读取某文件,该文件每行末尾都有带分隔符,考虑使用index_col=False使panadas不用第一列作为行的名称。

    usecols: 默认None 可以使用列序列也可以使用列名,如 [0, 1, 2] or [‘foo’, ‘bar’, ‘baz’],选取的列

    as_recarray:默认False , 将读入的数据按照numpy array的方式存储,0.19.0版本后使用 pd.read_csv(…).to_records()。 注意,这种方式读入的na数据不是显示na,而是给以个莫名奇妙的值

    squeeze: 默认为False, True的情况下返回的类型为Series

    prefix:默认为none, 当header =None 或者没有header的时候有效,例如’x’ 列名效果 X0, X1, …

    mangle_dupe_cols :默认为True,重复的列将被指定为’X.0’…’X.N’,而不是’X’…’X’。如果传入False,当列中存在重复名称,则会导致数据被覆盖。

    dtype: E.g. {‘a’: np.float64, ‘b’: np.int32} 指定数据类型

    engine: {‘c’, ‘python’}, optional 选择读取的引擎目前来说C更快,但是Python的引擎有更多选择的操作

    skipinitialspace: 忽略分隔符后的空格,默认false,

    skiprows: list-like or integer or callable, default None 忽略某几行或者从开始算起的几行

    skipfooter: 从底端算起的几行,不支持C引擎

    nrows: int 读取的行数

    na_values: 默认None NaN包含哪些情况,默认情况下, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’. 都表现为NAN

    keep_default_na: 如果na_values被定义,keep_default_na为False那么默认的NAN会被改写。 默认为True

    na_filter: 默认为True, 针对没有NA的文件,使用na_filter=false能够提高读取效率

    skip_blank_lines 默认为True,跳过blank lines 而且不是定义为NAN

    thousands 千分位符号,默认‘,’

    decimal 小数点符号,默认‘.’

    encoding: 编码方式

    memory_map如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存上,并直接从那里访问数据。使用此选项可以提高性能,因为不再有任何I / O开销。

    low_memory 默认为True 在块内部处理文件,导致分析时内存使用量降低,但可能数据类型混乱。要确保没有混合类型设置为False,或者使用dtype参数指定类型。请注意,不管怎样,整个文件都读入单个DataFrame中,请使用chunksize或iterator参数以块形式返回数据。 (仅在C语法分析器中有效)

    注:与read_excel类似

    参考:https://blog.csdn.net/weixin_39175124/article/details/79434022

    以上,记录本人学习过程。

    展开全文
  • mac Read-Only filesystem

    万次阅读 多人点赞 2019-11-06 09:11:07
    结果发现居然提示我Read-Only filesystem,即使加上了sudo也没用 在我查阅相关资料后找到了解决办法(关闭SIP,然后输入sudo mount -uw /,创建文件夹添加权限,最后启用SIP),具体步骤如下: 1、重启mac,按住...
  • springboot项目启动时连接mysql时提示,Can not read response from server. Expected to read 4 bytes, read 0 bytes be…… 解决办法: 1、检查数据库连接池的参数(尽量开发环境连接数不要设置太大) spring....
  • 遇到的问题一: error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack fail...
  • Python中pd.read_csv()函数用法简单介绍

    万次阅读 多人点赞 2018-04-28 21:45:52
    dl_data.csv文件: ...q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",header = 0,names = range(0,50)) 功能:将原来的列索引[-25......25]替换成[0....49]。 介绍:he...
  • read命令

    千次阅读 2019-03-28 16:32:09
    1. Read的一些选项  Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项。 -a:将内容读入到数值中 echo -n "Input muliple values into an array:" read -a array echo "get ${#array[@]} values in ...
  • 先向大家展示以下困扰了我好久的问题 死活就是安装不上,总是说出错,其实就是说连接超时,下载不了安装包,我这里也没有科学上网的工具,经过多方百度,找到了办法 通过几次pip的使用,对于默认的pip源的速度...
  • socket read

    千次阅读 2018-10-12 17:09:08
    在调用socket读写函数read(),write()时,都会有返回值。如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲区读取或者写入的字节数目 2当read()...
  • Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. 连接池参数配置的问题。 项目中增加 连接池参数后重启...
  • 1:read_sql_query() 读取自定义数据(通过SQL语句) import pandas as pd pd.read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None,chunksize=None) read_sql_query...
  • p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545} span.s1 {font: 12.0px '.PingFang SC'}Can not read response from server. Expected to read 4 bytes, read 0 bytes bef
  • Read N Characters Given Read4

    千次阅读 2014-12-12 12:09:11
    The API:int read4(char *buf)reads 4 characters at a time from a file. The return value is the actual number of characters read. For example, it returns 3 if there is only 3 characters left in the
  • Socket笔记之Read timed out深入分析

    万次阅读 2018-09-10 10:44:44
    ReadTimedOut深入分析 PlainSocketImpl.c Java_java_net_PlainSocketImpl_socketSetOption read()时 Java_java_net_SocketInputStream_socketRead0 solaris/native/java/net/bsd_close.c 总结 Read...
  • read_csv和read_table的区别

    千次阅读 2018-12-24 09:31:20
    read_csv和read_table的区别在于separator分隔符。 csv是逗号分隔值(Comma-Separated Values),仅能正确读入以 “,” 分割的数据。 read_table的分隔符是tab
  • LeetCode 157. Read N Characters Given Read4

    千次阅读 2019-04-11 22:10:29
    本文转载自 : ... The API: int read4(char *buf) reads 4 characters at a time from a file. The return value is the actual number of characters read. For e...
  • MESSAGE: Can not read response from server. Expected to read 4 bytes, read 0 bytes before   connection was unexpectedly lost. 改了jdbc驱动也不好使。。。 最后找到网上的方法。。是因为mysql的wait...
  • Repeatable-ReadRead-Committed区别

    千次阅读 2018-04-24 16:28:28
    mysql 默认提供的是 Repeatable-Read 可重复读,更适用于oltpRead-Committed 不可重复读 也可以叫做提交读在MySQL中基本有这两种事务隔离级别的设置,默认的RR(Repeatable-Read)和实际中常见的RC(Read-Committed)...
  • read.csv and read.csv2 are identical to read.table except for the defaults. They are intended for reading ‘comma separated value’ files (‘.csv’) or (read.csv2) the variant u...
  • 除了使用xlrd库或者xlwt库进行对excel表格的操作读与写,而且pandas库同样支持...首先是pd.read_excel的参数:函数为: pd.read_excel(io, sheetname=0,header=0,skiprows=None,index_col=None,names=None, arse_
  • 首先准备测试数据*(mtcars)分别为CSV. TXT **2018博客之星评选,如果喜欢我的文章,请投我一票,编号:No.009** [支持...!!   R语言数据分析案例:直通车 ...read.table 默认形式读取CSV(×)与TXT(效果理想) ...
  • 本文原文连接:...有时候你会发现过去一直启动正常的系统,某天启动时会报出形如下面的错误:org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www
  • Pandas之read_csv和read_excel用法

    千次阅读 2017-08-18 10:38:29
    之前看到一篇文章讲的不错,不过翻译的有点生硬:pandas.read_csv参数详解pandas.read_csv这是pandas.read_csv原文档: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html函数格式:...
  • read函数的用法

    万次阅读 多人点赞 2019-05-09 21:21:55
    非常感谢网友的分享,对本人很有帮助,谢谢!!! read的用法 read函数可以读取文件。读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的...number = read(handle, buff...
  • SSL_read返回SSL_ERROR_WANT_READ怎么办?

    千次阅读 2019-03-17 09:46:13
    SSL_read返回SSL_ERROR_WANT_READ怎么办? 对SSL_read返回SSL_ERROR_WANT_READ的实践、理解和处理 在openssl使用编程中遇到问题,代码片段是这样的: ret=SSL_read(ssl, line, sizeof (line)); err=SSL_get_error...
  • Read timed out

    千次阅读 2019-07-09 11:41:08
    版权声明:本文为Mr.release原创文章,转载请...Read timed out 升级Android Studio后,打开项目时出现。 问题解决 buildscript { repositories { google() mavenCentral() maven { url 'https://maven....
  • Shell read命令详解

    千次阅读 2019-06-16 12:19:06
    read 命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中。 read 命令格式如下: #read [选项] [变量名] 选项: -p:“提示信息”:在等待read输入时,输出...
  • pip安装库时出现Read timed out.解决办法

    万次阅读 多人点赞 2018-08-07 00:15:09
    raise ReadTimeoutError(self._pool, None, 'Read timed out.') ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. 解决办法1:延长timeout时间 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 529,278
精华内容 211,711
关键字:

read