欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基于自然語言處理開發(fā)文本摘要系統(tǒng)

 更新時(shí)間:2025年04月18日 09:31:18   作者:天天進(jìn)步2015  
自然語言處理(NLP)是人工智能領(lǐng)域中一個(gè)重要的研究方向,而文本摘要作為NLP的一個(gè)重要應(yīng)用,在信息爆炸的時(shí)代具有重要意義,下面我們來看看如何開發(fā)一個(gè)基于Python的文本摘要系統(tǒng)吧

1. 項(xiàng)目概述

自然語言處理(NLP)是人工智能領(lǐng)域中一個(gè)重要的研究方向,而文本摘要作為NLP的一個(gè)重要應(yīng)用,在信息爆炸的時(shí)代具有重要意義。本項(xiàng)目旨在開發(fā)一個(gè)基于Python的文本摘要系統(tǒng),能夠自動(dòng)從長文本中提取關(guān)鍵信息,生成簡潔而全面的摘要,幫助用戶快速獲取文檔的核心內(nèi)容。

1.1 項(xiàng)目背景

隨著互聯(lián)網(wǎng)的發(fā)展,人們每天面臨海量的文本信息,如新聞報(bào)道、學(xué)術(shù)論文、產(chǎn)品評(píng)論等??焖佾@取這些信息的核心內(nèi)容成為一個(gè)挑戰(zhàn)。文本摘要技術(shù)能夠自動(dòng)分析長文本,提取其中的關(guān)鍵信息,生成簡潔的摘要,大大提高信息獲取效率。

1.2 項(xiàng)目目標(biāo)

開發(fā)一個(gè)能夠處理中英文文本的摘要系統(tǒng)

支持抽取式摘要和生成式摘要兩種方法

提供Web界面,方便用戶使用

支持多種文本格式的輸入(TXT、PDF、Word等)

提供摘要質(zhì)量評(píng)估功能

1.3 技術(shù)路線

本項(xiàng)目采用Python作為主要開發(fā)語言,結(jié)合多種NLP庫和深度學(xué)習(xí)框架,實(shí)現(xiàn)文本摘要功能。主要技術(shù)路線包括:

傳統(tǒng)NLP方法:基于TF-IDF、TextRank等算法的抽取式摘要

深度學(xué)習(xí)方法:基于Seq2Seq、Transformer等模型的生成式摘要

預(yù)訓(xùn)練模型:利用BERT、GPT等預(yù)訓(xùn)練模型提升摘要質(zhì)量

2. 系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)架構(gòu)

文本摘要系統(tǒng)采用模塊化設(shè)計(jì),主要包括以下幾個(gè)模塊:

  • 數(shù)據(jù)預(yù)處理模塊:負(fù)責(zé)文本清洗、分詞、去停用詞等預(yù)處理工作
  • 摘要生成模塊:包含抽取式摘要和生成式摘要兩個(gè)子模塊
  • 評(píng)估模塊:負(fù)責(zé)對(duì)生成的摘要進(jìn)行質(zhì)量評(píng)估
  • Web界面模塊:提供用戶友好的交互界面
  • 文件處理模塊:支持多種格式文件的讀取和處理

系統(tǒng)架構(gòu)圖如下:

+------------------+     +------------------+     +------------------+
|                  |     |                  |     |                  |
|  文件處理模塊     |---->|  數(shù)據(jù)預(yù)處理模塊   |---->|  摘要生成模塊     |
|                  |     |                  |     |                  |
+------------------+     +------------------+     +--------|---------+
                                                          |
                                                          v
+------------------+     +------------------+     +------------------+
|                  |     |                  |     |                  |
|    Web界面模塊    |<----|    評(píng)估模塊       |<----|  摘要結(jié)果輸出    |
|                  |     |                  |     |                  |
+------------------+     +------------------+     +------------------+

2.2 模塊設(shè)計(jì)

2.2.1 數(shù)據(jù)預(yù)處理模塊

數(shù)據(jù)預(yù)處理模塊主要負(fù)責(zé)對(duì)輸入文本進(jìn)行清洗和標(biāo)準(zhǔn)化處理,包括:

  • 文本清洗:去除HTML標(biāo)簽、特殊字符等
  • 文本分詞:使用jieba(中文)或NLTK(英文)進(jìn)行分詞
  • 去停用詞:去除常見的停用詞,如"的"、“是”、“the”、"is"等
  • 詞性標(biāo)注:標(biāo)注詞語的詞性,為后續(xù)處理提供支持
  • 句子切分:將文本切分為句子單位

2.2.2 摘要生成模塊

摘要生成模塊是系統(tǒng)的核心,包含兩種摘要方法:

抽取式摘要:

  • TF-IDF方法:基于詞頻-逆文檔頻率計(jì)算句子重要性
  • TextRank算法:利用圖算法計(jì)算句子重要性
  • LSA(潛在語義分析):利用矩陣分解提取文本主題

生成式摘要:

  • Seq2Seq模型:使用編碼器-解碼器架構(gòu)生成摘要
  • Transformer模型:利用自注意力機(jī)制提升摘要質(zhì)量
  • 預(yù)訓(xùn)練模型微調(diào):基于BERT、GPT等預(yù)訓(xùn)練模型進(jìn)行微調(diào)

2.2.3 評(píng)估模塊

評(píng)估模塊負(fù)責(zé)對(duì)生成的摘要進(jìn)行質(zhì)量評(píng)估,主要包括:

  • ROUGE評(píng)分:計(jì)算生成摘要與參考摘要的重疊度
  • BLEU評(píng)分:評(píng)估生成摘要的流暢度和準(zhǔn)確性
  • 人工評(píng)估接口:支持用戶對(duì)摘要質(zhì)量進(jìn)行評(píng)價(jià)

2.2.4 Web界面模塊

Web界面模塊提供用戶友好的交互界面,主要功能包括:

  • 文本輸入:支持直接輸入文本或上傳文件
  • 參數(shù)設(shè)置:允許用戶設(shè)置摘要長度、算法選擇等參數(shù)
  • 結(jié)果展示:顯示生成的摘要結(jié)果
  • 評(píng)估反饋:允許用戶對(duì)摘要質(zhì)量進(jìn)行評(píng)價(jià)

2.2.5 文件處理模塊

文件處理模塊支持多種格式文件的讀取和處理,包括:

  • TXT文件:直接讀取文本內(nèi)容
  • PDF文件:使用PyPDF2或pdfminer提取文本
  • Word文件:使用python-docx提取文本
  • HTML文件:使用BeautifulSoup提取文本內(nèi)容

3. 系統(tǒng)實(shí)現(xiàn)

3.1 開發(fā)環(huán)境

操作系統(tǒng):Windows/Linux/MacOS

編程語言:Python 3.8+

主要依賴庫:

NLP處理:NLTK, jieba, spaCy

深度學(xué)習(xí):PyTorch, Transformers

Web框架:Flask

文件處理:PyPDF2, python-docx, BeautifulSoup

數(shù)據(jù)處理:NumPy, Pandas

3.2 核心算法實(shí)現(xiàn)

3.2.1 TextRank算法實(shí)現(xiàn)

TextRank是一種基于圖的排序算法,類似于Google的PageRank算法。在文本摘要中,我們將每個(gè)句子視為圖中的一個(gè)節(jié)點(diǎn),句子之間的相似度作為邊的權(quán)重。

def textrank_summarize(text, ratio=0.2):
    """
    使用TextRank算法生成文本摘要
    
    參數(shù):
        text (str): 輸入文本
        ratio (float): 摘要占原文比例
        
    返回:
        str: 生成的摘要
    """
    # 文本預(yù)處理
    sentences = text_to_sentences(text)
    
    # 構(gòu)建句子相似度矩陣
    similarity_matrix = build_similarity_matrix(sentences)
    
    # 使用NetworkX庫計(jì)算TextRank得分
    import networkx as nx
    nx_graph = nx.from_numpy_array(similarity_matrix)
    scores = nx.pagerank(nx_graph)
    
    # 根據(jù)得分選擇重要句子
    ranked_sentences = sorted(((scores[i], s) for i, s in enumerate(sentences)), reverse=True)
    
    # 根據(jù)比例選擇句子數(shù)量
    select_length = int(len(sentences) * ratio)
    
    # 按原文順序排列選中的句子
    selected_sentences = sorted(
        [ranked_sentences[i][1] for i in range(select_length)],
        key=lambda s: sentences.index(s))
    
    # 生成摘要
    summary = ' '.join(selected_sentences)
    
    return summary

3.2.2 Seq2Seq模型實(shí)現(xiàn)

Seq2Seq(序列到序列)模型是一種基于神經(jīng)網(wǎng)絡(luò)的生成式摘要方法,包含編碼器和解碼器兩部分。

import torch
import torch.nn as nn
import torch.optim as optim

class Encoder(nn.Module):
    def __init__(self, input_dim, emb_dim, hid_dim, n_layers, dropout):
        super().__init__()
        self.embedding = nn.Embedding(input_dim, emb_dim)
        self.rnn = nn.LSTM(emb_dim, hid_dim, n_layers, dropout=dropout)
        self.dropout = nn.Dropout(dropout)
        
    def forward(self, src):
        # src = [src_len, batch_size]
        embedded = self.dropout(self.embedding(src))
        # embedded = [src_len, batch_size, emb_dim]
        outputs, (hidden, cell) = self.rnn(embedded)
        # outputs = [src_len, batch_size, hid_dim * n_directions]
        # hidden = [n_layers * n_directions, batch_size, hid_dim]
        # cell = [n_layers * n_directions, batch_size, hid_dim]
        return hidden, cell

class Decoder(nn.Module):
    def __init__(self, output_dim, emb_dim, hid_dim, n_layers, dropout):
        super().__init__()
        self.output_dim = output_dim
        self.embedding = nn.Embedding(output_dim, emb_dim)
        self.rnn = nn.LSTM(emb_dim, hid_dim, n_layers, dropout=dropout)
        self.fc_out = nn.Linear(hid_dim, output_dim)
        self.dropout = nn.Dropout(dropout)
        
    def forward(self, input, hidden, cell):
        # input = [batch_size]
        # hidden = [n_layers * n_directions, batch_size, hid_dim]
        # cell = [n_layers * n_directions, batch_size, hid_dim]
        
        input = input.unsqueeze(0)
        # input = [1, batch_size]
        
        embedded = self.dropout(self.embedding(input))
        # embedded = [1, batch_size, emb_dim]
        
        output, (hidden, cell) = self.rnn(embedded, (hidden, cell))
        # output = [1, batch_size, hid_dim * n_directions]
        # hidden = [n_layers * n_directions, batch_size, hid_dim]
        # cell = [n_layers * n_directions, batch_size, hid_dim]
        
        prediction = self.fc_out(output.squeeze(0))
        # prediction = [batch_size, output_dim]
        
        return prediction, hidden, cell

???????class Seq2Seq(nn.Module):
    def __init__(self, encoder, decoder, device):
        super().__init__()
        self.encoder = encoder
        self.decoder = decoder
        self.device = device
        
    def forward(self, src, trg, teacher_forcing_ratio=0.5):
        # src = [src_len, batch_size]
        # trg = [trg_len, batch_size]
        
        batch_size = trg.shape[1]
        trg_len = trg.shape[0]
        trg_vocab_size = self.decoder.output_dim
        
        # 存儲(chǔ)每一步的預(yù)測(cè)結(jié)果
        outputs = torch.zeros(trg_len, batch_size, trg_vocab_size).to(self.device)
        
        # 編碼器前向傳播
        hidden, cell = self.encoder(src)
        
        # 第一個(gè)輸入是<SOS>標(biāo)記
        input = trg[0,:]
        
        for t in range(1, trg_len):
            # 解碼器前向傳播
            output, hidden, cell = self.decoder(input, hidden, cell)
            
            # 存儲(chǔ)預(yù)測(cè)結(jié)果
            outputs[t] = output
            
            # 決定是否使用teacher forcing
            teacher_force = random.random() < teacher_forcing_ratio
            
            # 獲取最可能的詞
            top1 = output.argmax(1)
            
            # 如果使用teacher forcing,則下一個(gè)輸入是真實(shí)標(biāo)簽
            # 否則使用模型預(yù)測(cè)結(jié)果
            input = trg[t] if teacher_force else top1
            
        return outputs

3.2.3 基于Transformer的摘要實(shí)現(xiàn)

使用Hugging Face的Transformers庫實(shí)現(xiàn)基于預(yù)訓(xùn)練模型的摘要功能:

from transformers import pipeline

???????def transformer_summarize(text, max_length=150, min_length=30):
    """
    使用預(yù)訓(xùn)練的Transformer模型生成摘要
    
    參數(shù):
        text (str): 輸入文本
        max_length (int): 摘要最大長度
        min_length (int): 摘要最小長度
        
    返回:
        str: 生成的摘要
    """
    # 初始化摘要pipeline
    summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
    
    # 生成摘要
    summary = summarizer(text, max_length=max_length, min_length=min_length, do_sample=False)
    
    return summary[0]['summary_text']

3.3 Web界面實(shí)現(xiàn)

使用Flask框架實(shí)現(xiàn)Web界面:

from flask import Flask, render_template, request, jsonify
from werkzeug.utils import secure_filename
import os
from summarizer import TextRankSummarizer, Seq2SeqSummarizer, TransformerSummarizer
from file_processor import process_file

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'uploads/'
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024  # 限制上傳文件大小為16MB

# 確保上傳目錄存在
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/summarize', methods=['POST'])
def summarize():
    # 獲取參數(shù)
    text = request.form.get('text', '')
    file = request.files.get('file')
    method = request.form.get('method', 'textrank')
    ratio = float(request.form.get('ratio', 0.2))
    max_length = int(request.form.get('max_length', 150))
    min_length = int(request.form.get('min_length', 30))
    
    # 如果上傳了文件,處理文件內(nèi)容
    if file and file.filename != '':
        filename = secure_filename(file.filename)
        file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
        file.save(file_path)
        text = process_file(file_path)
        os.remove(file_path)  # 處理完成后刪除文件
    
    # 檢查文本是否為空
    if not text:
        return jsonify({'error': '請(qǐng)?zhí)峁┪谋緝?nèi)容或上傳文件'}), 400
    
    # 根據(jù)選擇的方法生成摘要
    if method == 'textrank':
        summarizer = TextRankSummarizer()
        summary = summarizer.summarize(text, ratio=ratio)
    elif method == 'seq2seq':
        summarizer = Seq2SeqSummarizer()
        summary = summarizer.summarize(text, max_length=max_length)
    elif method == 'transformer':
        summarizer = TransformerSummarizer()
        summary = summarizer.summarize(text, max_length=max_length, min_length=min_length)
    else:
        return jsonify({'error': '不支持的摘要方法'}), 400
    
    return jsonify({'summary': summary})

???????if __name__ == '__main__':
    app.run(debug=True)

3.4 文件處理模塊實(shí)現(xiàn)

import os
import PyPDF2
import docx
from bs4 import BeautifulSoup

def process_file(file_path):
    """
    根據(jù)文件類型處理文件,提取文本內(nèi)容
    
    參數(shù):
        file_path (str): 文件路徑
        
    返回:
        str: 提取的文本內(nèi)容
    """
    file_ext = os.path.splitext(file_path)[1].lower()
    
    if file_ext == '.txt':
        return process_txt(file_path)
    elif file_ext == '.pdf':
        return process_pdf(file_path)
    elif file_ext == '.docx':
        return process_docx(file_path)
    elif file_ext in ['.html', '.htm']:
        return process_html(file_path)
    else:
        raise ValueError(f"不支持的文件類型: {file_ext}")

def process_txt(file_path):
    """處理TXT文件"""
    with open(file_path, 'r', encoding='utf-8') as f:
        return f.read()

def process_pdf(file_path):
    """處理PDF文件"""
    text = ""
    with open(file_path, 'rb') as f:
        pdf_reader = PyPDF2.PdfReader(f)
        for page_num in range(len(pdf_reader.pages)):
            page = pdf_reader.pages[page_num]
            text += page.extract_text()
    return text

def process_docx(file_path):
    """處理DOCX文件"""
    doc = docx.Document(file_path)
    text = ""
    for para in doc.paragraphs:
        text += para.text + "\n"
    return text

???????def process_html(file_path):
    """處理HTML文件"""
    with open(file_path, 'r', encoding='utf-8') as f:
        soup = BeautifulSoup(f.read(), 'html.parser')
        # 去除script和style元素
        for script in soup(["script", "style"]):
            script.extract()
        # 獲取文本
        text = soup.get_text()
        # 處理多余的空白字符
        lines = (line.strip() for line in text.splitlines())
        chunks = (phrase.strip() for line in lines for phrase in line.split("  "))
        text = '\n'.join(chunk for chunk in chunks if chunk)
    return text

4. 系統(tǒng)測(cè)試與評(píng)估

4.1 測(cè)試數(shù)據(jù)集

為了評(píng)估文本摘要系統(tǒng)的性能,我們使用以下數(shù)據(jù)集進(jìn)行測(cè)試:

中文數(shù)據(jù)集:

  • LCSTS(Large Scale Chinese Short Text Summarization)數(shù)據(jù)集
  • 新聞?wù)獢?shù)據(jù)集(從新浪、網(wǎng)易等新聞網(wǎng)站收集)

英文數(shù)據(jù)集:

  • CNN/Daily Mail數(shù)據(jù)集
  • XSum數(shù)據(jù)集
  • Reddit TIFU數(shù)據(jù)集

4.2 評(píng)估指標(biāo)

我們使用以下指標(biāo)評(píng)估摘要質(zhì)量:

ROUGE(Recall-Oriented Understudy for Gisting Evaluation):

  • ROUGE-1:單個(gè)詞的重疊
  • ROUGE-2:兩個(gè)連續(xù)詞的重疊
  • ROUGE-L:最長公共子序列

BLEU(Bilingual Evaluation Understudy):

評(píng)估生成文本與參考文本的n-gram精確匹配度

人工評(píng)估:

  • 信息完整性:摘要是否包含原文的主要信息
  • 連貫性:摘要是否語句連貫、邏輯清晰
  • 可讀性:摘要是否易于理解

4.3 測(cè)試結(jié)果

在LCSTS數(shù)據(jù)集上的測(cè)試結(jié)果:

方法ROUGE-1ROUGE-2ROUGE-L
TF-IDF0.310.170.29
TextRank0.350.210.33
Seq2Seq0.390.260.36
Transformer0.440.300.41

在CNN/Daily Mail數(shù)據(jù)集上的測(cè)試結(jié)果:

方法ROUGE-1ROUGE-2ROUGE-L
TF-IDF0.330.120.30
TextRank0.360.150.33
Seq2Seq0.400.170.36
Transformer0.440.210.40

4.4 性能分析

通過測(cè)試結(jié)果可以看出:

生成式摘要vs抽取式摘要:

  • 生成式摘要(Seq2Seq、Transformer)在各項(xiàng)指標(biāo)上均優(yōu)于抽取式摘要(TF-IDF、TextRank)
  • 生成式摘要能夠產(chǎn)生更流暢、連貫的文本,而抽取式摘要有時(shí)會(huì)出現(xiàn)連貫性問題

不同模型的性能:

  • 基于Transformer的模型性能最佳,這得益于其強(qiáng)大的自注意力機(jī)制
  • TextRank在抽取式方法中表現(xiàn)較好,適用于計(jì)算資源有限的場(chǎng)景

中英文處理的差異:

  • 中文摘要的ROUGE-2分?jǐn)?shù)普遍低于英文,這可能與中文分詞的挑戰(zhàn)有關(guān)
  • 英文摘要在連貫性方面表現(xiàn)更好,這與語言特性有關(guān)

5. 系統(tǒng)部署與使用

5.1 部署要求

硬件要求:

  • CPU:4核或以上
  • 內(nèi)存:8GB或以上(使用深度學(xué)習(xí)模型時(shí)建議16GB以上)
  • 硬盤:10GB可用空間

軟件要求:

  • Python 3.8或更高版本
  • 依賴庫:詳見requirements.txt
  • 操作系統(tǒng):Windows/Linux/MacOS

5.2 安裝步驟

克隆項(xiàng)目倉庫:

git clone https://github.com/username/text-summarization-system.git
cd text-summarization-system

創(chuàng)建虛擬環(huán)境:

python -m venv venv
source venv/bin/activate  # Linux/MacOS
venv\Scripts\activate  # Windows

安裝依賴:

pip install -r requirements.txt

下載預(yù)訓(xùn)練模型(可選,用于生成式摘要):

python download_models.py

啟動(dòng)Web服務(wù):

python app.py

訪問Web界面:

在瀏覽器中打開 http://localhost:5000

5.3 使用說明

Web界面使用:

  • 在文本框中輸入或粘貼要摘要的文本
  • 或者上傳TXT、PDF、Word、HTML格式的文件
  • 選擇摘要方法(TextRank、Seq2Seq、Transformer)
  • 設(shè)置摘要參數(shù)(比例、長度等)
  • 點(diǎn)擊"生成摘要"按鈕
  • 查看生成的摘要結(jié)果

命令行使用:

python summarize.py --input input.txt --method transformer --output summary.txt

API使用:

import requests

url = "http://localhost:5000/summarize"
data = {
    "text": "這是一段需要摘要的長文本...",
    "method": "transformer",
    "max_length": 150,
    "min_length": 30
}

response = requests.post(url, data=data)
summary = response.json()["summary"]
print(summary)

6. 項(xiàng)目總結(jié)與展望

6.1 項(xiàng)目總結(jié)

本項(xiàng)目成功開發(fā)了一個(gè)基于Python的文本摘要系統(tǒng),具有以下特點(diǎn):

  • 多種摘要方法:支持抽取式摘要(TF-IDF、TextRank)和生成式摘要(Seq2Seq、Transformer)
  • 多語言支持:支持中文和英文文本的摘要生成
  • 多格式支持:支持TXT、PDF、Word、HTML等多種文件格式
  • 用戶友好界面:提供Web界面和API接口,方便用戶使用
  • 高質(zhì)量摘要:特別是基于Transformer的模型,能夠生成高質(zhì)量的摘要

6.2 項(xiàng)目不足

盡管取得了一定成果,但項(xiàng)目仍存在以下不足:

  • 計(jì)算資源需求:深度學(xué)習(xí)模型(特別是Transformer)需要較高的計(jì)算資源
  • 長文本處理:對(duì)于超長文本(如整本書),系統(tǒng)處理能力有限
  • 特定領(lǐng)域適應(yīng):對(duì)于特定領(lǐng)域(如醫(yī)學(xué)、法律)的文本,摘要質(zhì)量有待提高
  • 多語言支持有限:主要支持中英文,對(duì)其他語言支持有限

6.3 未來展望

未來可以從以下幾個(gè)方面對(duì)系統(tǒng)進(jìn)行改進(jìn):

模型優(yōu)化:

  • 引入更先進(jìn)的預(yù)訓(xùn)練模型(如T5、BART)
  • 優(yōu)化模型參數(shù),減少計(jì)算資源需求
  • 探索模型蒸餾技術(shù),提高推理速度

功能擴(kuò)展:

  • 支持更多語言的文本摘要
  • 增加多文檔摘要功能
  • 增加關(guān)鍵詞提取和主題分析功能

用戶體驗(yàn)提升:

  • 優(yōu)化Web界面,提供更友好的用戶體驗(yàn)
  • 增加批量處理功能
  • 提供摘要結(jié)果對(duì)比功能

領(lǐng)域適應(yīng):

  • 針對(duì)特定領(lǐng)域(如醫(yī)學(xué)、法律、科技)訓(xùn)練專門的摘要模型
  • 增加領(lǐng)域知識(shí)庫,提高專業(yè)文本的摘要質(zhì)量

到此這篇關(guān)于Python基于自然語言處理開發(fā)文本摘要系統(tǒng)的文章就介紹到這了,更多相關(guān)Python自然語言處理文本摘要內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python實(shí)現(xiàn)牛頓法求極值

    使用Python實(shí)現(xiàn)牛頓法求極值

    今天小編就為大家分享一篇使用Python實(shí)現(xiàn)牛頓法求極值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 利用Python實(shí)現(xiàn)快速批量轉(zhuǎn)換HEIC文件

    利用Python實(shí)現(xiàn)快速批量轉(zhuǎn)換HEIC文件

    HEIC 是蘋果采用的新的默認(rèn)圖片格式,它能在不損失圖片畫質(zhì)的情況下,減少圖片大小。本篇文章將使用 Python 批量實(shí)現(xiàn) HEIC 圖片文件的格式轉(zhuǎn)換,需要的可以參考一下
    2022-07-07
  • python使用mysql數(shù)據(jù)庫示例代碼

    python使用mysql數(shù)據(jù)庫示例代碼

    本篇文章主要介紹了python使用mysql數(shù)據(jù)庫示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • python 巧用正則尋找字符串中的特定字符的位置方法

    python 巧用正則尋找字符串中的特定字符的位置方法

    下面小編就為大家分享一篇python 巧用正則尋找字符串中的特定字符的位置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • numpy多維數(shù)組索引問題

    numpy多維數(shù)組索引問題

    這篇文章主要介紹了numpy多維數(shù)組索引的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 微信公眾號(hào)token驗(yàn)證失敗解決方案

    微信公眾號(hào)token驗(yàn)證失敗解決方案

    這篇文章主要介紹了微信公眾號(hào)token驗(yàn)證失敗解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 用Python畫小女孩放風(fēng)箏的示例

    用Python畫小女孩放風(fēng)箏的示例

    今天小編就為大家分享一篇用Python畫小女孩放風(fēng)箏的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 徹底理解Python中的yield關(guān)鍵字

    徹底理解Python中的yield關(guān)鍵字

    今天小編就為大家分享一篇關(guān)于徹底理解Python中的yield關(guān)鍵字,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法

    使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法

    這篇文章主要介紹了使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 調(diào)試Django時(shí)打印SQL語句的日志代碼實(shí)例

    調(diào)試Django時(shí)打印SQL語句的日志代碼實(shí)例

    這篇文章主要介紹了調(diào)試Django時(shí)打印SQL語句的日志代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論