Heim Backend-Entwicklung Python-Tutorial Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

Aug 09, 2023 pm 05:37 PM
python übersetzen


In diesem Artikel stellen wir Ihnen ein praktisches Python-Büroautomatisierungsskript vor „Verwenden Sie Python, um englische Word-Dokumente stapelweise zu übersetzen und das Format beizubehalten“. Software! Werfen wir zunächst einen Blick auf die konkreten Arbeitsinhalte.

1. Beschreibung der Anforderungen

Ich habe eine große Anzahl fremdsprachiger Dokumente zur Hand (in diesem Fall nehmen wir 5 Dokumente als Beispiel, benannt test1.docx test2.docx usw.), von denen eines wie folgt lautet : Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

Grundlegende Anforderungen : „Alle Inhalte dieser Dokumente stapelweise ins Chinesische übersetzen und in neue Dateien übertragen“ , der Effekt ist wie folgt: Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

Erweiterte Anforderungen : Während die Grundbedürfnisse erfüllt sind Wenn die Anforderung „Format der Originaldokumente beibehalten“ erfüllt ist, ist der Effekt wie folgt: Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

2. Logische Sortierung

1. Übersetzungs-API

Der Kern dieser Anforderung ist Übersetzung, die Strategie besteht darin, die Übersetzungs-API des Netzwerks zu verwenden, hier empfehlen wir die Baidu Translation Open Platform. Wenn Sie die Anzahl gleichzeitiger Benutzer nicht berücksichtigen, können Sie die Standardversion verwenden, die kostenlos ist und keine Zeichenbeschränkung hat !

Baidu Translation Open Platform: http: //api.fanyi.baidu.com/api/trans/product/indexhttp://api.fanyi.baidu.com/api/trans/product/index

在使用百度的通用翻译 API 之前需要完成以下工作:

  1. 使用百度账号登录百度翻译开放平台(http://api.fanyi.baidu.com);
  2. 注册成为开发者,获得APPID;
  3. 进行开发者认证(如仅需标准版可跳过);
  4. 开通通用翻译API服务:开通链接
  5. 参考技术文档和Demo编写代码
Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

完成后在个人页面在即可看到 ID 和密钥,这个很重要!下面给出整理好的通用翻译 API 的 demo,已经对输出做简单修改,代码拿走就能用!Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

可以看到,测试内容准确的被翻译出来,注意如果需要多次访问 API,免费版有并发数和时间限制,可以用 time

Die folgenden Arbeiten müssen abgeschlossen werden, bevor Baidus universelle Übersetzungs-API verwendet werden kann:
    Verwenden Sie das Baidu-Konto, um sich bei der Baidu Translation Open Platform anzumelden ( http://api.fanyi.baidu.com code>) ;
  1. Als Entwickler registrieren, APPID erhalten;
  2. Entwicklerzertifizierung durchführen (Sie können diese überspringen, wenn Sie nur die Standardversion möchten);
  3. Offener universeller Übersetzungs-API-Dienst: open link
  4. Informationen zum Schreiben von Code finden Sie in der technischen Dokumentation und in der Demo
Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?
Nach Abschluss können Sie die ID und den Schlüssel auf der persönlichen Seite sehen. Das ist sehr wichtig! Die Demo der kompilierten universellen Übersetzungs-API ist unten aufgeführt. Die Ausgabe wurde einfach geändert und der Code kann verwendet werden!

Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

Sie können sehen, dass der Testinhalt korrekt übersetzt wurde. Beachten Sie, dass die kostenlose Version Parallelität und Zeitlimits hat, wenn Sie mehrmals auf die API zugreifen müssen , können Sie

🎜2. Formatänderung🎜🎜🎜Die Schwierigkeit bei erweiterten Anforderungen besteht darin, das Format beizubehalten. Einfach ausgedrückt: Was ist das Seitenformat und das Absatzformat des Originaldokuments und was ist der entsprechende Teil nach der Übersetzung? 🎜🎜🎜Basierend auf der oben genannten logischen Beziehung müssen Sie nur den entsprechenden Inhalt des Originaldokuments abrufen und ihn dem neu übersetzten Dokument zuordnen. (Derzeit kann nur die Vereinheitlichung von Seiteneinstellungen und Absatzeinstellungen erreicht werden. Für die Formatänderung bestimmter Wörter in einem Absatz ist zur Gewährleistung der Genauigkeit die Verarbeitung natürlicher Sprache (NLP) erforderlich, die in diesem Artikel nicht behandelt wird.) 🎜

2.1 Seitenstil

Der Seitenstil muss nur Ränder, Richtung, Höhe, Breite usw. enthalten. Wie Sie dem Originaldokument entnehmen können, werden schmale Ränder übernommen. Aber wir müssen nicht wissen, wie man die vier Richtungen schmaler Ränder festlegt. Wir müssen nur die variable Übertragung der alten und neuen Dokumente im Code wie folgt darstellenIst das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

2.2 Absatzstil

Der Absatzstil umfasst Ausrichtung, Einzug, Abstände usw. werden nach Absätzen im Originaldokument eingerückt und der Titel wird zentriert. Diese Einstellungen lassen sich gut in der Variablenübergabe vornehmen. Wenn der Variablenwert, der im Originaldokument nicht festgelegt ist, NoneIst das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

2.3 Änderung des Textblockstils

Für Stilanpassungen wie Schriftgröße, Fettschrift, Kursivschrift, Farbe usw. gilt folgende Strategie Erstellen Sie eine leere Liste und durchlaufen Sie das Originaldokument. Für jeden Textblock in jedem Absatz werden die entsprechenden Attribute abgerufen und in die jeweiligen Listen eingefügt. Für denselben Absatz wird die Option mit den meisten Textblockattributen dem entsprechenden Absatz zugewiesen des übersetzten Dokuments (z. B. der gesamte oder der größte Teil eines Absatzes). Wenn der Text fett gedruckt ist, werden nach der Übersetzung alle Textblöcke des entsprechenden Absatzes fett dargestellt.) Leser, die sich für NLP interessieren, können versuchen, die Stiländerungen bestimmter spezifischer Wörter in englischen Dokumenten weitgehend wiederherzustellen und sie in den übersetzten Dokumenten widerzuspiegelnIst das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

Der obige Code enthält keine Schriftarteinstellungen, da keine Änderungen erforderlich sind Die englische Schriftart wird an das chinesische Dokument übergeben. Die Einstellung chinesischer Schriftarten wurde im vorherigen Artikel erwähnt. Bitte sehen Sie sich den Code direkt an:

3. In Anbetracht dessen ist jeder Teil des Vorgangs abgeschlossen Es gibt viele Dokumente, die übersetzt werden müssen, daher lautet die gesamte Logik wie folgt:
  1. 利用 glob 模块批处理框架可获取某个文件的绝对路径
  2. python-docx 完成 Word 文件实例化后对段落进行解析
  3. 解析出的段落文本交给百度通用翻译 API,解析返回的 Json 格式结果(上面的修改 demo 中已经完成了这一步)并重新写入新的文件
  4. 同个文件全部解析、翻译并写入新文件后保存文件

三、代码实现

导入需要的模块,除翻译 demo 中需要的库外还需要 glob 库批量获取文件、python-docx 读取文件、time 模块控制访问并发。为什么要 os 模块见下文:

import requests
import random
import json
from hashlib import md5
import time
from docx import Document
import glob
import os

对原 demo 的部分内容进行保留,涉及到 query 参数的代码需要移动到后面的循环中。保留的部分:Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

效果如下Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

获取到段落文本后,可以将段落文本赋值给 query 参数,调用 API demo 的后续代码。输出结果的同时用 add_paragraph 将结果写入新文档:Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

最后保存成新文件,期望命名为 原文件名_translated 的形式,可用 os.path.basename 方法获取并经字符串拼接达到目的:

wordfile_new.save(path + r'\\' + os.path.basename(file)[:-5] + '_translated.docx')
Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

单个文件操作完成后将读取和创建文件的代码块放到批处理框架内:Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

完成了上面的内容后,基本需求就完成了。根据我们梳理的对样式的修改知识,再把样式调整的代码加进来就行了,最终完整代码如下:Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

代码运行完毕后得到五个新的翻译后文件Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

翻译效果如下,可以看到英文被翻译成中文,并且样式大部分保留!Ist das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?

至此,所有文档都被成功翻译,当然这是机器翻译的,具体应用时还需要对关键部分进一步人工调整,不过整体来说还是一次成功的Python办公自动化尝试!

Das obige ist der detaillierte Inhalt vonIst das in Python geschriebene Dokument-Batch-Übersetzungstool besser als kostenpflichtige Software?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So installieren Sie Pakete aus einer Anforderungen.txt -Datei in Python So installieren Sie Pakete aus einer Anforderungen.txt -Datei in Python Sep 18, 2025 am 04:24 AM

Führen Sie Pipinstall-Rrequirements.txt aus, um das Abhängigkeitspaket zu installieren. Es wird empfohlen, zunächst die virtuelle Umgebung zu erstellen und zu aktivieren, um Konflikte zu vermeiden, sicherzustellen, dass der Dateipfad korrekt ist und dass die PIP aktualisiert wurde, und Optionen wie-No-Deps oder -User, um das Installationsverhalten bei Bedarf anzupassen.

So testen Sie Python -Code mit PyTest So testen Sie Python -Code mit PyTest Sep 20, 2025 am 12:35 AM

Python ist ein einfaches und leistungsstarkes Testwerkzeug in Python. Nach der Installation werden Testdateien automatisch gemäß den Namensregeln ermittelt. Schreiben Sie eine Funktion, die mit Test_ für Assertionstests beginnt, verwenden Sie @PyTest.Fixure, um wiederverwendbare Testdaten zu erstellen, die Ausnahmen über pyTest.raises zu überprüfen, unterstützt die laufenden Tests und mehrere Befehlszeilenoptionen und verbessert die Testeneffizienz.

So behandeln Sie Befehlszeilenargumente in Python So behandeln Sie Befehlszeilenargumente in Python Sep 21, 2025 am 03:49 AM

TheArgParSemoduleiTherecommendedwaytoHandleCommand-Lineargumentesinpython, das Robustparsing, Typevalidation, Helpsages, AndersHandling berücksichtigt; usesys.argvForSimpecaseSeRequiringMinimalsetup.

Was ist BIP? Warum sind sie für die Zukunft von Bitcoin so wichtig? Was ist BIP? Warum sind sie für die Zukunft von Bitcoin so wichtig? Sep 24, 2025 pm 01:51 PM

Inhaltsverzeichnis Was ist Bitcoin Improvement Vorschlag (BIP)? Warum ist BIP so wichtig? Wie funktioniert der historische BIP -Prozess für Bitcoin Improvement Vorschlag (BIP)? Was ist ein BIP -Typ -Signal und wie sendet ein Bergmann es? Taproot und Cons of Quick Trial of BIP -Schlussfolgerung - seit 2011 wurden Verbesserungen an Bitcoin durch ein System namens Bitcoin Improvement Vorschlag oder „BIP“ vorgenommen. Bitcoin Improvement Vorschlag (BIP) enthält Richtlinien dafür, wie sich Bitcoin im Allgemeinen entwickeln kann. Es gibt drei mögliche BIP -Arten, von denen zwei mit den technologischen Veränderungen in Bitcoin zusammenhängen. Jede BIP beginnt mit informellen Diskussionen zwischen Bitcoin -Entwicklern, die sich überall versammeln können, einschließlich TWI

Von Anfängern bis zu Experten: 10 Must-Have-kostenlose öffentliche Datensatzwebsites Von Anfängern bis zu Experten: 10 Must-Have-kostenlose öffentliche Datensatzwebsites Sep 15, 2025 pm 03:51 PM

Für Anfänger in der Datenwissenschaft ist der Kern des Sprungs von "Unerfahrenheit" zum "Branchenexperten" eine kontinuierliche Praxis. Die Grundlage der Praxis sind die reichen und vielfältigen Datensätze. Glücklicherweise gibt es eine große Anzahl von Websites im Internet, die kostenlose öffentliche Datensätze anbieten, die wertvolle Ressourcen sind, um die Fähigkeiten zu verbessern und Ihre Fähigkeiten zu verbessern.

Wie können Sie einen Kontextmanager mit dem @ContextManager -Dekorateur in Python erstellen? Wie können Sie einen Kontextmanager mit dem @ContextManager -Dekorateur in Python erstellen? Sep 20, 2025 am 04:50 AM

Importieren Sie@contextManagerfromContextLibanddefinaGeneratorFunctionThatyieldSexactlyonce, whercodeBeforyieldactsasenterandCodeafteryield (vorzugsweise infinal) actsas __exit __. 2.UsetheFunctionInaThstatement, wherheided ValuesieScessable

Wie wähle ich einen Computer aus, der für die Big -Data -Analyse geeignet ist? Konfigurationshandbuch für High Performance Computing Wie wähle ich einen Computer aus, der für die Big -Data -Analyse geeignet ist? Konfigurationshandbuch für High Performance Computing Sep 15, 2025 pm 01:54 PM

Die Big-Data-Analyse muss sich auf Multi-Core-CPU, Speicher mit großer Kapazität und abgestufter Speicher konzentrieren. Multi-Core-Prozessoren wie Amdepyc oder Ryzenthreadripper werden unter Berücksichtigung der Anzahl der Kerne und einer Single-Core-Leistung bevorzugt. Der Speicher wird empfohlen, um mit 64 GB zu beginnen, und der ECC -Speicher wird bevorzugt, um die Datenintegrität zu gewährleisten. Der Speicher verwendet NVMESSD (System- und Heißdaten), Satassd (gemeinsame Daten) und HDD (Kaltdaten), um die Gesamtverarbeitungseffizienz zu verbessern.

So schreiben Sie Automatisierungsskripte für tägliche Aufgaben in Python So schreiben Sie Automatisierungsskripte für tägliche Aufgaben in Python Sep 21, 2025 am 04:45 AM

Identifizieren Sie die RepetivetaSksworthautomating, SuchasorganizingFileSendingemails, FocusingontonTheSethatoccurfRequent und Takesineficanttime

See all articles