精华内容
参与话题
问答
  • txt文本文件

    2008-06-26 10:53:34
    数据txt文本文件内容
  • python读取、写入txt文本内容

    万次阅读 多人点赞 2019-08-22 21:54:28
    读取txt文本 python常用的读取文件函数有三种read()、readline()、readlines() 以读取上述txt为例,看一下三者的区别 read() 一次性读全部内容 一次性读取文本中全部的内容,以字符串的形式返回结果 with open...

    读取txt文本

    python常用的读取文件函数有三种read()、readline()、readlines() 
    这里写图片描述 
    以读取上述txt为例,看一下三者的区别

    read()    一次性读全部内容

    一次性读取文本中全部的内容,以字符串的形式返回结果

    with open("test.txt", "r") as f:  # 打开文件
        data = f.read()  # 读取文件
        print(data)

    è¿éåå¾çæè¿°

    readline()    读取第一行内容

    只读取文本第一行的内容,以字符串的形式返回结果

    with open("test.txt", "r") as f:
        data = f.readline()
        print(data)

    readlines()     列表

    读取文本所有内容,并且以数列的格式返回结果,一般配合for in使用

    with open("test.txt", "r") as f:
        data = f.readlines()
        print(data)

    readlines会读到换行符,可用如下方法去除:

    with open("test.txt", "r") as f:
        for line in f.readlines():
            line = line.strip('\n')  #去掉列表中每一个元素的换行符
            print(line)

     

    写入txt文本

    with open("test.txt","w") as f:
        f.write("这是个测试!")  # 自带文件关闭功能,不需要再写f.close()

     

    读写模式

    要了解文件读写模式,需要了解几种模式的区别,以及对应指针

    r :   读取文件,若文件不存在则会报错

    w:   写入文件,若文件不存在则会先创建再写入,会覆盖原文件

    a :   写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾

    rb,wb:  分别于r,w类似,但是用于读写二进制文件

    r+ :   可读、可写,文件不存在也会报错,写操作时会覆盖

    w+ :   可读,可写,文件不存在先创建,会覆盖

    a+ :  可读、可写,文件不存在先创建,不会覆盖,追加在末尾

    展开全文
  • C++读写txt文件(基本操作1)

    万次阅读 多人点赞 2017-11-30 17:49:02
    本博客主要写了用C++读写txt本文的基本操作,最简单的写入和读出两个基本操作。 本程序的功能是向Test.txt文件文件写入字符串"This is a Test12!"和读取字符串"This is a Test12!",并且将读取到的字符串存到temp...

    本博客主要写了用C++读写txt本文的基本操作,最简单的写入和读出两个基本操作。

    本程序的功能是向Test.txt文件文件写入字符串"This is a Test12!"和读取字符串"This is a Test12!",并且将读取到的字符串存到temp变量(char型变量),且输出到控制台窗口进行显示。

     

    注意:

    1.1当创建ofstream对象后,可以像操作cout一样操作这个对象,也就是可以把ofstream的对象当做cout一样进行输出。

    1.2当创建ifstream对象后,可以像操作cin一样操作这个对象,也就是可以把ifstream的对象当做cin一样进行输入。

     

    一、用C++读写txt文件程序代码如下:

     

    #include<fstream>

    #include<iostream>

    using namespacestd;

     

    int main()

    {

       // *************************txt文件*******************************

       //ofstream OutFile;            //实例一个写文件对象

       //OutFile.open("Test1.xlsx");     //创建一个Test.txt文本,并且打开Test.txt文件

       ofstream OutFile("Test.txt"); //利用构造函数创建txt文本,并且打开该文本

       OutFile << "This is a Test12!";  //把字符串内容"This is a Test!",写入Test.txt文件

       OutFile.close();            //关闭Test.txt文件

     

       // *************************txt文件*******************************

       ifstream readFile("Test.txt");

       chartemp[1024] = {0};

       readFile >>temp;           //遇到空格输出停止,空格后的内容无法输出,'\0'是截止符,如图3所示

       //readFile.getline(temp, 8, 0);   //可以输出空格,遇到delim符号才截止。 最后一个参数0表示文本框遇到空字符(ASCLL码为32,文本框不可能有空字符)截止符。不加第三个参数0时,表示'\n'为截止符('\n'也是换行符)。如图4所示

       cout << temp<< endl;

       readFile .close();

     

       system("PAUSE");

       return 0;

    }

     

    二、程序执行结果

    执行txt文件程序后,在工程文件夹下面,将会生成一个Test文件,如图1所示。并且将字符串"This is a Test12!"写入Test.txt文本文件中,如图2所示。

    执行txt文件程序后,将从Test文本文件读取到的内容存到temp变量(char型变量)中,同时输出到控制台窗口,如图3和图4所示。图3只能输出连续字符串,遇到空格或者'/0'截止。图4将输出Test文本文件内所有内容,直到遇到delim才会截止输出。

     

    图1  生成Test文本

     

     

     

    图2  Test文本写入的内容

     

    图3  Test文本读出的内容('/0'是截止符)

     

    图4  Test文本读出的内容(delim是截止符)

     

    参考内容:

    http://www.cnblogs.com/uniqueliu/archive/2011/08/03/2126545.html

    展开全文
  • Python爬虫系列:爬取小说并写入txt文件

    万次阅读 多人点赞 2017-07-13 17:14:51
    Python爬虫系列——爬取小说并写入txt文件 文章介绍了如何从网站中爬取小说并写入txt文件中,实现了单章节写取,整本写取,多线程多本写取。爬虫使用的python版本为python3,有些系统使用python指令运行本脚本,可能...

    Python爬虫系列

    ——爬取小说并写入txt文件


        本教程使用的单线程单本下载小说代码会不定期维护,最新源码及相关教程以CSDN博客为主,教程所说的多线程多本由于博主时间有限,暂时不做维护,仅作为一个教程供大家参考,感兴趣的朋友可以在此基础上做一个UI,便于下载;单线程单本代码见文末或码云>>get_one_txt.py文件,以下是维护日志:

    • 2019.02.14:单线程单本源码可用,修改爬取规则已解决部分小说无法下载。

        文章介绍了如何从网站中爬取小说并写入txt文件中,实现了单章节写取,整本写取,多线程多本写取。爬虫使用的python版本为python3,有些系统使用python指令运行本脚本,可能出现错误,此时可以试一试使用python3运行本脚本。
        本文是一个教程,一步步介绍了如何爬取批量小说内容以及存储这是txt文件中,以下是项目源码地址。

        爬虫源码地址:https://git.oschina.net/XPSWorld/get_txt.git

        博客文章地址:https://blog.csdn.net/baidu_26678247/article/details/75086587

         C#版带界面爬虫说明:https://blog.csdn.net/baidu_26678247/article/details/100174059

         C#版带界面爬虫源码:https://gitee.com/XPSWorld/sworld_reading

    1.使用到库文件
    • requests:用于get请求
    • threading:多线程
    • bs4:网页解析
    • re:正则表达式
    • os:系统相关操作
    • time:获取时间

        以下是整个爬虫所用的库文件,如若没有对应库文件,可以使用pip获取,例如获取threading库文件:pip install threading

    import  requests
    import threading
    from bs4 import BeautifulSoup
    import re
    import os
    import time
    



    2.对网页文件结构进行分析(PS:浏览器使用的是谷歌浏览器)

        通过对 http://www.qu.la/ 的文件结构进行分析,知道了每一本小说的目录地址为该地址加上book/,再加上对应的小说编号,如编号为1的小说地址为http://www.qu.la/book/1/,在浏览器打开该网址,就可以看到如下类似的界面
    显示界面
        以此类推就可以知道每一本的小说地址。


    3.获取网页的请求头文件

        我们以编号为1的小说地址为例(http://www.qu.la/book/1/),打开谷歌的开发者工具,选择Network,会出现如下界面,如果没有对应的列表信息,刷新一下网页即可。
    这里写图片描述



        然后点击1/,出现以下信息:
    这里写图片描述

        我们需要的是第二个方框中的内容(Request Headers),将该目录下的信息取出,存放到字典中,其中每一个项所代表的意义如果感兴趣可自行网上搜索(HTTP Header 详解)。

    #请求头字典
    req_header={
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.8',
    'Cookie':'__cfduid=d577ccecf4016421b5e2375c5b446d74c1499765327; UM_distinctid=15d30fac6beb80-0bdcc291c89c17-9383666-13c680-15d30fac6bfa28; CNZZDATA1261736110=1277741675-1499763139-null%7C1499763139; tanwanhf_9821=1; Hm_lvt_5ee23c2731c7127c7ad800272fdd85ba=1499612614,1499672399,1499761334,1499765328; Hm_lpvt_5ee23c2731c7127c7ad800272fdd85ba=1499765328; tanwanpf_9817=1; bdshare_firstime=1499765328088',
    'Host':'www.qu.la',
    'Proxy-Connection':'keep-alive',
    'Referer':'http://www.qu.la/book/1265/765108.html',
    'Upgrade-Insecure-Requests':'1',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36'
    }
    



    4.分析每章小说网页结构

        每一本小说多有对应的章节网页,也就说每一张都有对应的网页,我们以编号为1的小说中任意章节为例,其地址信息为http://www.qu.la/book/1/260824.html,其中“260824.html”就是该章节的网页名称,点击开发者工具中的 Element 选项,以下是对应的截图信息,通过分析,小说章节信息的路径为:#wrapper .content_read .box_con (PS:其中“#wrapper”号表示id为wrapper的项,“.content_read”表示class为content_read的项,按照此顺序放在一起就表示id为wrapper的项中的class为content_read的项中的class为con_box的相关信息,三者为树形关系。)
        在该路径下,我们需要的信息主要有三项,以下是对应的class内容以及对应的说明:

    • bookname:可获取章节名称
    • content:可获取章节内容
    • bottom2:可获取下一章节地址

    这里写图片描述


    5.获取单独一章内容

        对于BeautifulSoup不是特别了解的,可以先阅读以下几篇文章:

        以下是获取单章章节内容的部分代码,需将文章上所述的库文件以及请求头文件粘贴方可运行以下代码(PS【重要】:python想要使用汉字,需要在脚本最前面添加 #coding:utf-8,汉字使用的编码为utf-8,否则会出现错误):

    req_url_base='http://www.qu.la/book/'           #小说主地址
    req_url=req_url_base+"1/"                       #单独一本小说地址
    txt_section='260824.html'                       #某一章页面地址
    
    #请求当前章节页面  params为请求参数
    r=requests.get(req_url+str(txt_section),params=req_header) 
    #soup转换
    soup=BeautifulSoup(r.text,"html.parser")    
    #获取章节名称                                    
    section_name=soup.select('#wrapper .content_read .box_con .bookname h1')[0]        
    #获取章节文本
    section_text=soup.select('#wrapper .content_read .box_con #content')[0].text             
    for ss in section_text.select("script"):                #删除无用项
        ss.decompose()
    #按照指定格式替换章节内容,运用正则表达式
    section_text=re.sub( '\s+', '\r\n\t', section_text.text).strip('\r\n')          
    
    print('章节名:'+section_name)
    print("章节内容:\n"+section_text)
    

    运行效果截图:
    文本输出


    6.将获取的文本信息写入txt文件中

        在实际操作之前,如果大家对于文件操作以及编码转换不是很了解的,可以先看看以下两篇文章:

        以下是相关源码以及注释(PS:在原有代码的基础上添加即可):

    fo = open('1.txt', "ab+")         #打开小说文件
    # 以二进制写入章节题目 需要转换为utf-8编码,否则会出现乱码
    fo.write(('\r' + section_name + '\r\n').encode('UTF-8'))  
    # 以二进制写入章节内容
    fo.write((section_text).encode('UTF-8'))  
    fo.close()        #关闭小说文件
    



    7.获取整本小说

        通过前面几个步骤,我们知道了如何获取单章小说相关信息写入txt中,接下来获取整本小说内容就是在其基础上进行改进的,我们将通过一个函数来实现获取整本内容,以下是函数代码:

    #小说下载函数
    #id:小说编号
    #txt字典项介绍
    # title:小说题目
    # first_page:第一章页面
    # txt_section:章节地址
    # section_name:章节名称
    # section_text:章节正文
    # section_ct:章节页数
    def get_txt(txt_id):
        txt={}
        txt['title']=''
        txt['id']=str(txt_id)
        try:
            print("请输入需要下载的小说编号:")
            txt['id']=input()
            req_url=req_url_base+ txt['id']+'/'                        #根据小说编号获取小说URL
            print("小说编号:"+txt['id'])
            res=requests.get(req_url,params=req_header)             #获取小说目录界面
            soups=BeautifulSoup(res.text,"html.parser")           #soup转化
            #获取小说题目
            txt['title']=soups.select('#wrapper .box_con #maininfo #info h1')[0].text     
            txt['author']=soups.select('#wrapper .box_con #maininfo #info p')
            #获取小说最近更新时间
            txt['update']=txt['author'][2].text                                                       
            #获取最近更新章节名称
            txt['lately'] = txt['author'][3].text                                                     
            #获取小说作者
            txt['author']=txt['author'][0].text                                                       
            #获取小说简介
            txt['intro']=soups.select('#wrapper .box_con #maininfo #intro')[0].text.strip()            
            print("编号:"+'{0:0>8}   '.format(txt['id'])+  "小说名:《"+txt['title']+"》  开始下载。")
            print("正在寻找第一章页面。。。")
            #获取小说所有章节信息
            first_page=soups.select('#wrapper .box_con #list dl dd a')                          
            #获取小说总章页面数
            section_ct=len(first_page)                                                                  
            #获取小说第一章页面地址
            first_page = first_page[0]['href'].split('/')[3]                                        
            print("小说章节页数:"+str(section_ct))
            print("第一章地址寻找成功:"+ first_page)
            #设置现在下载小说章节页面
            txt_section=first_page                                                                  
            #打开小说文件写入小说相关信息
            fo = open('{0:0>8}-{1}.txt.download'.format(txt['id'],txt['title']), "ab+")         
            fo.write((txt['title']+"\r\n").encode('UTF-8'))
            fo.write((txt['author'] + "\r\n").encode('UTF-8'))
            fo.write((txt['update'] + "\r\n").encode('UTF-8'))
            fo.write((txt['lately'] + "\r\n").encode('UTF-8'))
            fo.write(("*******简介*******\r\n").encode('UTF-8'))
            fo.write(("\t"+txt['intro'] + "\r\n").encode('UTF-8'))
            fo.write(("******************\r\n").encode('UTF-8'))
            #进入循环,写入每章内容
            while(1):
                try:
    	            #请求当前章节页面
                    r=requests.get(req_url+str(txt_section),params=req_header)                      
                    #soup转换
                    soup=BeautifulSoup(r.text,"html.parser")       
                    #获取章节名称                                 
                    section_name=soup.select('#wrapper .content_read .box_con .bookname h1')[0]
                    section_text=soup.select('#wrapper .content_read .box_con #content')[0]
                    for ss in section_text.select("script"):   #删除无用项
                        ss.decompose()
                    #获取章节文本
                    section_text=re.sub( '\s+', '\r\n\t', section_text.text).strip('\r\n')#
                    #获取下一章地址
                    txt_section=soup.select('#wrapper .content_read .box_con .bottem2 #A3')[0]['href']       
                    #判断是否最后一章,当为最后一章时,会跳转至目录地址,最后一章则跳出循环               
                    if(txt_section=='./'):                                                          
                        print("编号:"+'{0:0>8}   '.format(txt['id'])+  "小说名:《"+txt['title']+"》 下载完成")
                        break
                    #以二进制写入章节题目
                    fo.write(('\r'+section_name.text+'\r\n').encode('UTF-8'))                                
                    #以二进制写入章节内容
                    fo.write((section_text).encode('UTF-8'))                        
                    print(txt['title']+' 章节:'+section_name.text+'     已下载')
                    #print(section_text.text.encode('UTF-8'))
                except:
                    print("编号:"+'{0:0>8}   '.format(txt['id'])+  "小说名:《"+txt['title']+"》 章节下载失败,正在重新下载。")
            fo.close()
            os.rename('{0:0>8}-{1}.txt.download'.format(txt['id'],txt['title']), '{0:0>8}-{1}.txt'.format(txt['id'],txt['title']))
        except:     #出现错误会将错误信息写入dowload.log文件,同时答应出来
            fo_err = open('dowload.log', "ab+")
            try:
                fo_err.write(('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:" + '{0:0>8}   '.format(txt['id']) + "小说名:《" + txt['title'] + "》 下载失败。\r\n").encode('UTF-8'))
                print('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:"+'{0:0>8}   '.format(txt['id'])+  "小说名:《"+txt['title']+"》 下载失败。")
                os.rename('{0:0>8}'.format(txt['id']) + '-' + txt['title'] + '.txt.download',
                      '{0:0>8}'.format(txt['id']) + '-' + txt['title'] + '.txt.error')
            except:     
                fo_err.write(('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:"+'{0:0>8}   '.format(txt['id'])+"下载失败。\r\n").encode('UTF-8'))
                print('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:"+'{0:0>8}   '.format(txt['id'])+"下载失败。")
            finally: #关闭文件
                fo_err.close()
    

        如果有需要爬取的相关小说,只需要在该网站找到小说编号,然后调用该函数就可以将小说下载至本电脑,如需下载编号为6666的小说,则调用get_txt(6666)即可,在下载过程中,文件后缀为“.txt.download”,下载完成后会将文件后缀变为“.txt”。
    运行效果
    运行效果


    8.多线程爬取多本小说

        同样的,在此之前如果对于python线程不了解的可以阅读以下文章:

        关于多线程的代码就不过多介绍了,在项目源码中会有相关的使用方法。(PS:通过实验,每次同步下载100本小说最好,太多的话进程可能会被杀死)


    9.最终效果

        最终的源码实现如下效果:

    • 每次同步爬取100本小说
    • 会生成一个关于小说的介绍文档,文档介绍了每次爬取的100本小说
    • 显示对应进度信息
    • 小说还未下载完文件后缀为“.txt.download”,下载完成后会将文件后缀变为“.txt”

    以下是运行效果图:
    运行效果图


    运行结果图


        在运行结果图中,标号为1的部分是已经爬取完成的小说;编号为2的为还在下载的小说;编号为3的文件是下载错误日志,当不存在相关编号小说,则会记录在该文件中,下图为文件内容;编号为4的为每100本小说的简介,在我们通过该脚本,就可以知道所爬取的小说有哪些,通过然后通过编号就可以找到对应小说,下图同样展示其相关内容。

    download.log文件内容:
    download.log文件内容

    小说简介文件内容:
    小说简介文件内容

    10.其他(教程源码)

        鉴于有朋友说提供的项目源码(多线程多本)与教程(单线程单本)不符,所将以上教程中单本小说下载的源码贴上,大家可以直接复制运行。

    #coding:utf-8
    import  requests
    import threading
    from bs4 import BeautifulSoup
    import re
    import os
    import time
    import sys
    req_header={
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.8',
    'Cookie':'__cfduid=d577ccecf4016421b5e2375c5b446d74c1499765327; UM_distinctid=15d30fac6beb80-0bdcc291c89c17-9383666-13c680-15d30fac6bfa28; CNZZDATA1261736110=1277741675-1499763139-null%7C1499763139; tanwanhf_9821=1; Hm_lvt_5ee23c2731c7127c7ad800272fdd85ba=1499612614,1499672399,1499761334,1499765328; Hm_lpvt_5ee23c2731c7127c7ad800272fdd85ba=1499765328; tanwanpf_9817=1; bdshare_firstime=1499765328088',
    'Host':'www.qu.la',
    'Proxy-Connection':'keep-alive',
    'Referer':'http://www.qu.la/book/',
    'Upgrade-Insecure-Requests':'1',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36'
    }
    
    
    req_url_base='http://www.qu.la/book/'           #小说主地址
    
    #小说下载函数
    #txt_id:小说编号
    #txt字典项介绍
    #id:小说编号
    # title:小说题目
    # first_page:第一章页面
    # txt_section:章节地址
    # section_name:章节名称
    # section_text:章节正文
    # section_ct:章节页数
    def get_txt(txt_id):
        txt={}
        txt['title']=''
        txt['id']=str(txt_id)
        try:
            #print("请输入需要下载的小说编号:")
            #txt['id']=input()
            req_url=req_url_base+ txt['id']+'/'                        #根据小说编号获取小说URL
            print("小说编号:"+txt['id'])
            res=requests.get(req_url,params=req_header)             #获取小说目录界面
            soups=BeautifulSoup(res.text,"html.parser")           #soup转化
            #获取小说题目
            txt['title']=soups.select('#wrapper .box_con #maininfo #info h1')[0].text
            txt['author']=soups.select('#wrapper .box_con #maininfo #info p')
            #获取小说最近更新时间
            txt['update']=txt['author'][2].text
            #获取最近更新章节名称
            txt['lately'] = txt['author'][3].text
            #获取小说作者
            txt['author']=txt['author'][0].text
            #获取小说简介
            txt['intro']=soups.select('#wrapper .box_con #maininfo #intro')[0].text.strip()
            print("编号:"+'{0:0>8}   '.format(txt['id'])+  "小说名:《"+txt['title']+"》  开始下载。")
            print("正在获取所有章节地址。。。")
            #获取小说所有章节信息
            all_page_address=soups.select('#wrapper .box_con #list dl dd a')
            #获取小说总章页面数
            section_ct=len(all_page_address)
            print("小说章节页数:"+str(section_ct))
            #打开小说文件写入小说相关信息
            fo = open('{0:0>8}-{1}.txt.download'.format(txt['id'],txt['title']), "ab+")
            fo.write((txt['title']+"\r\n").encode('UTF-8'))
            fo.write((txt['author'] + "\r\n").encode('UTF-8'))
            fo.write((txt['update'] + "\r\n").encode('UTF-8'))
            fo.write((txt['lately'] + "\r\n").encode('UTF-8'))
            fo.write(("*******简介*******\r\n").encode('UTF-8'))
            fo.write(("\t"+txt['intro'] + "\r\n").encode('UTF-8'))
            fo.write(("******************\r\n").encode('UTF-8'))
            #获取每一章节信息
            for one_page_info in all_page_address:
                try:
                    #请求当前章节页面
                    r=requests.get(req_url+str(one_page_info['href']),params=req_header)
                    #soup转换
                    soup=BeautifulSoup(r.text,"html.parser")
                    #获取章节名称
                    section_name=soup.select('#wrapper .content_read .box_con .bookname h1')[0]
                    section_text=soup.select('#wrapper .content_read .box_con #content')[0]
                    for ss in section_text.select("script"):   #删除无用项
                        ss.decompose()
                    #获取章节文本
                    section_text=re.sub( '\s+', '\r\n\t', section_text.text).strip('\r\n')#
                    #以二进制写入章节题目
                    fo.write(('\r'+section_name.text+'\r\n').encode('UTF-8'))
                    #以二进制写入章节内容
                    fo.write((section_text).encode('UTF-8'))
                    print(txt['title']+' 章节:'+section_name.text+'     已下载')
                    #print(section_text.text.encode('UTF-8'))
                except:
                    print("编号:"+'{0:0>8}   '.format(txt['id'])+  "小说名:《"+txt['title']+"》 章节下载失败,正在重新下载。")
            fo.close()
            os.rename('{0:0>8}-{1}.txt.download'.format(txt['id'],txt['title']), '{0:0>8}-{1}.txt'.format(txt['id'],txt['title']))
        except:     #出现错误会将错误信息写入dowload.log文件,同时答应出来
            fo_err = open('dowload.log', "ab+")
            try:
                fo_err.write(('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:" + '{0:0>8}   '.format(txt['id']) + "小说名:《" + txt['title'] + "》 下载失败。\r\n").encode('UTF-8'))
                print('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:"+'{0:0>8}   '.format(txt['id'])+  "小说名:《"+txt['title']+"》 下载失败。")
                os.rename('{0:0>8}'.format(txt['id']) + '-' + txt['title'] + '.txt.download',
                      '{0:0>8}'.format(txt['id']) + '-' + txt['title'] + '.txt.error')
            except:
                fo_err.write(('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:"+'{0:0>8}   '.format(txt['id'])+"下载失败。\r\n").encode('UTF-8'))
                print('['+time.strftime('%Y-%m-%d %X', time.localtime())+"]:编号:"+'{0:0>8}   '.format(txt['id'])+"下载失败。")
            finally: #关闭文件
                fo_err.close()
    
    #此处为需要下载小说的编号,编号获取方法在上文中已经讲过。
    get_txt(87176)
    

        文章有那块不对的地方,希望大家帮忙指正改进。

    展开全文
  • 第一步想的是open一个窗口下载文件但事实证明显然不合适,现在的浏览器都是会主动拦截弹窗2.a通过download属性通知浏览器下载,但是又有一个问题,针对rar结尾的压缩文件当然是没有问题的,但是例如js,txt的浏览器...

    现在本人正在做聊天系统,最近支持收发文件,那下载当然是不可避免的

    1.第一步想的是open一个窗口下载文件但事实证明显然不合适,现在的浏览器都是会主动拦截弹窗

    2.a通过download属性通知浏览器下载,但是又有一个问题,针对rar结尾的压缩文件当然是没有问题的,但是例如js,txt的浏览器会自动解析,这然就会造成文件不是下载而是预览显然不符合要求

    3.后来找到了一个 “download.js”  地址download.js ,导入这个js后,这个js 用起来很简单,内置一个

    download("文件路径","文件名称","text/plain") 函数

    这样就ok完美解决了,完全符合要求,更多的大家可以访问download.js 查看详细api,可以说真的是简单到不行。

    展开全文
  • 教你快速将多个TXT文档合并成一个

    万次阅读 2018-09-16 18:20:27
    有文档1.txt、2.txt、3.txt,在demo目录下(目录必须是英文) 进入该目录,按住shift,点击鼠标右键,选择“在此处打开命令行窗口” 输入代码: type *.txt>res 然后把res文件的后缀添加上.txt。完成 ...
  • ufmc MATLAB代码.txt

    2020-05-02 12:54:57
    UFMC实现了对连续子载波的过滤操作,提升了多载波技术在处理5G信号方面的灵活性,除了具有FBMC技术在传输方面的优势之外,UFMC技术还能够支持低带宽、低功率的物联网与高宽带视频之间的互联互通,由于UFMC通常情况下...
  • 对刚接触BSS盲源分离非常有帮助-对刚接触BSS有帮助 .txt 国外的一个入门小文档,刚接触BSS看看很有帮助~ 所用语言是matlab % Demonstration code for "Independent component analysis: A Tutorial Introduction...
  • 1.bag提取topics并重定向 ahren@ahren:~/script$ rostopic list ... odom.txt 2.踩坑ros中Python编码报错 ahren@ahren:~/script$ rostopic echo -b ~/bag/_2020-07-01-17-57-14_83.bag -p /rob
  • ****** 全集

    2008-02-29 08:19:16
    ***必杀技演示 [url]http://download.chinaitlab.com/soft/10690.htm[/url] 用NC来实现内网反弹***的动画教程 [url]http://download.chinaitlab.com/soft/10974.htm[/url] ***漏洞利用 [url]...
  • Java读取txt文件和写入txt文件

    万次阅读 多人点赞 2016-05-25 23:16:26
    原文: Java读取txt文件和写入txt文件写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; ...
  • 本文代码都在Windows/VC++6.0下测试过, 在linux/g++下也没有问题。 但是,请一定注意linux和Windows文件格式的区别,比如: 1. 当linux上的代码读取Windows文件格式时, 读取结果的每行都会多一个\r, 想想为什么...
  • Python中将变量按行写入txt文本中

    万次阅读 2017-07-12 13:56:52
    先看一个简单的例子:将变量写入txt文本中 f = open('E:/test.txt','w') f.write('hello world!') Out[3]: 12 f.close() 结果如图: 那么如何将变量按行写入呢? 在'w'写入模式下,当我们下次写入变量时,会覆盖...
  • python创建文件夹和TXT文件,删除TXT文件和删除文件夹 需求: 1、先在D盘创建一个TEST文件夹。 2、在TEST文件夹内创建一个TXT文本文件并写入内容“Hello world!” 3、删除TEST文件夹内的TXT文件 4、删除路径TEST文件...
  • 如何使用python读取txt文件中的数据

    万次阅读 多人点赞 2019-04-28 16:33:44
    python:如何将txt文件中的数值数据读入到list中,且在list中存在的格式为float类型或者其他数值类型 python .txt文件读取及数据处理总结 利用Python读取txt文档的方法 Python之读取TXT文件的三种方法 python...
  • C++ 读写txt文件类

    千次阅读 2018-08-16 21:35:51
    C++ 读写txt文件类 C++ 读写txt文件类 代码如下: 运行结果: 封装一个C++简单的类,用于读写txt文件。 代码如下: comFile.h #pragma once #include &lt;iostream&gt; #include &...
  • python .txt文件读取及数据处理总结

    万次阅读 多人点赞 2017-11-30 18:27:32
    1、处理包含数据的文件最近利用Python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型的数组时,出现了以下错误: TypeError: ufunc 'subtract' did not contain a loop with signature matching ...
  • 如何使用python将数据写入txt文件

    万次阅读 多人点赞 2019-04-28 16:44:14
    PYTHON将list或/dict对象写入txt/json文件 python(如何将数据写入本地txt文本文件) python中文件写入TXT Python中将变量按行写入txt文本中 python把变量写入txt文件。 Python读写文件 python文件操作 Python之文件...
  • Matlab读取txt文件中的数据(使用textread函数)

    万次阅读 多人点赞 2018-04-18 22:13:45
    在使用Matlab处理数据时,我们经常需要读取txt文档,可以使用Matlab中强大的textread函数。它的基本语法是:[A,B,C,...] = textread(filename,format)[A,B,C,...] = textread(filename,format,N)其中filename就是...
  • numpy:将数组保存到txt文件中

    万次阅读 2017-03-11 17:22:24
    如何将array保存到txt文件中?2.如何将存到txt文件中的数据读出为ndarray类型? 需求:科学计算中,往往需要将运算结果(array类型)保存到本地,以便进行后续的数据分析。 解决:直接用numpy中的方法。 1:numpy....

空空如也

1 2 3 4 5 ... 20
收藏数 1,785,905
精华内容 714,362
关键字:

txt