編程doc轉html,Python批量將word轉html,并將html內容發布至網站。

搜索熱詞

下面是編程之家 jb51.cc 通過網絡收集整理的代碼片段。

編程之家小編現在分享給大家,也給大家做個參考。

#coding=utf-8

__author__ = 'zhm'

from win32com import client as wc

import os

import time

import random

import MysqLdb

import re

def wordsToHtml(dir):#批量把文件夾的word文檔轉換成html文件

#金山WPS調用,搶先版的用KWPS,正式版WPS

word = wc.Dispatch('KWPS.Application')

for path,subdirs,files in os.walk(dir):

for wordFile in files:

wordFullName = os.path.join(path,wordFile)

#print "word:" + wordFullName

doc = word.Documents.Open(wordFullName)

wordFile2 = unicode(wordFile,"gbk")

dotIndex = wordFile2.rfind(".")

if(dotIndex == -1):

print '********************ERROR: 未取得后綴名!'

fileSuffix = wordFile2[(dotIndex + 1) : ]

if(fileSuffix == "doc" or fileSuffix == "docx"):

fileName = wordFile2[ : dotIndex]

htmlName = fileName + ".html"

htmlFullName = os.path.join(unicode(path,"gbk"),htmlName)

# htmlFullName = unicode(path,"gbk") + "\\" + htmlName

print u'生成了html文件:' + htmlFullName

doc.SaveAs(htmlFullName,8)

doc.Close()

word.Quit()

print ""

print "Finished!"

def html_add_to_db(dir):#將轉換成功的html文件批量插入數據庫中。

conn = MysqLdb.connect(

host='localhost',port=3306,user='root',passwd='root',db='test',charset='utf8'

)

cur = conn.cursor()

for path,files in os.walk(dir):

for htmlFile in files:

htmlFullName = os.path.join(path,htmlFile)

title = os.path.splitext(htmlFile)[0]

targetDir = 'D:/files/htmls/' #D:/files為web服務器配置的靜態目錄

sconds = time.time()

msconds = sconds * 1000

targetFile = os.path.join(targetDir,str(int(msconds))+str(random.randint(100,10000)) +'.html')

htmlFile2 = unicode(htmlFile,"gbk")

dotIndex = htmlFile2.rfind(".")

if(dotIndex == -1):

print '********************ERROR: 未取得后綴名!'

fileSuffix = htmlFile2[(dotIndex + 1) : ]

if(fileSuffix == "htm" or fileSuffix == "html"):

if not os.path.exists(targetDir):

os.makedirs(targetDir)

htmlFullName = os.path.join(unicode(path,htmlFullName)

htFile = open(htmlFullName,'rb')

#獲取網頁內容

htmStrCotent = htFile.read()

#找出里面的圖片

img=re.compile(r"""""",re.I)

m = img.findall(htmStrCotent)

for tagContent in m:

imgSrc = unicode(tagContent,"gbk")

imgSrcFullName = os.path.join(path,imgSrc)

#上傳圖片

imgTarget = 'D:/files/images/whzx/'

img_sconds = time.time()

img_msconds = sconds * 1000

targetImgFile = os.path.join(imgTarget,str(int(img_msconds))+str(random.randint(100,10000)) +'.png')

if not os.path.exists(imgTarget):

os.makedirs(imgTarget)

if not os.path.exists(targetImgFile) or(os.path.exists(targetImgFile) and (os.path.getsize(targetImgFile) != os.path.getsize(imgSrcFullName))):

tmpImgFile = open(imgSrcFullName,'rb')

tmpWriteImgFile = open(targetImgFile,"wb")

tmpWriteImgFile.write(tmpImgFile.read())

tmpImgFile.close()

tmpWriteImgFile.close()

htmStrCotent=htmStrCotent.replace(tagContent,targetImgFile.split(":")[1])

if not os.path.exists(targetFile) or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(htmlFullName))):

#用iframe包裝轉換好的html文件。

iframeHtml='''

function iFrameHeight() {

var ifm= document.getElementById("iframepage");

var subWeb = document.frames ? document.frames["iframepage"].document:ifm.contentDocument;

if(ifm != null && subWeb != null) {

ifm.height = subWeb.body.scrollHeight;

}

}

marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="765" height=100% id="iframepage" name="iframepage" onLoad="iFrameHeight()" >

'''

tmpTargetFile = open(targetFile,"wb")

tmpTargetFile.write(htmStrCotent)

tmpTargetFile.close()

htFile.close()

try:

# 執行

sql = "insert into common_article(title,content) values(%s,%s)"

param = (unicode(title,iframeHtml)

cur.execute(sql,param)

except:

print "Error: unable to insert data"

cur.close()

conn.commit()

# 關閉數據庫連接

conn.close()

if __name__ == '__main__':

wordsToHtml('d:/word')

html_add_to_db('d:/word')

以上是編程之家(jb51.cc)為你收集整理的全部代碼內容,希望文章能夠幫你解決所遇到的程序開發問題。

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

總結

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529038.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529038.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529038.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python分析工具有哪些_常用Python數據分析工具匯總

Python是數據處理常用工具,可以處理數量級從幾K至幾T不等的數據,具有較高的開發效率和可維護性,還具有較強的通用性和跨平臺性。Python可用于數據分析,但其單純依賴Python本身自帶的庫進行數據分析還是具有一定的局限性的&#xf…

python軟件是什么原因引起的_Python對程序員重要的原因在哪里?

Python 之父Fredrik Haard最近發表了一篇“為什么Python對你如此重要”的文章,引起了開發者的熱烈討論。我相信Python對軟件開發人員很重要。現今已經誕生了不少的編程語言,它們都有各自不同的特性:強大者如Lisp,快速如C&#xff…

大學計算機需要論文嗎,關于大學計算機論文范文.docx

關于大學計算機論文范文一:大學計算機基礎實驗教學課程改革計算機基礎是高校非計算機專業非常重要的一門公共基礎課程,課程內容是大學生必須掌握的計算機基礎知識和操作技能,是大學生走向工作崗位必備的基本素質。計算機基礎知識的掌握與實際…

高并發編程_高并發編程系列:全面剖析Java并發編程之AQS的核心實現

在并發編程領域,AQS號稱是并發同步組件的基石,很多并發同步組件都是基于AQS實現,所以想掌握好高并發編程,你需要掌握好AQS。本篇主要通過對AQS的實現原理、數據模型、資源共享方式、獲取鎖的過程,讓你對AQS的整體設計有…

python怎么測試c代碼_如何正確測試python中的C-API,C-API返回錯誤代碼

我的設置 我正在使用Python中的pytest和ctypes測試C庫中的函數。C庫中的每個函數調用一個嵌入式linux PCI板上的函數,然后C庫函數返回一個整數,該整數映射到一組返回代碼。如果函數成功,則返回0,否則返回其他錯誤代碼。在 問題 我…

計算機考試設計會議邀請函,計算機二級常見考點之使用合并技術制作邀請函

計算機01:37來自LearningYard學苑三月份的計算機二級考試即將到來,不知道各位童鞋準備得怎么樣了呢,把握了多少。今天小編就給講講計算機二級MS office中常見的考核內容——使用合并技術制作邀請函。The computer second-level exam in March is coming …

添加一列_辦公軟件操作技巧023:如何給excel數據批量添加單位

在日常工作中,我們使用excel編輯電子表格時,經常需要給數據添加單位,單位是編制excel表格常用的元素,有時我們需要給一列數字都添加上單位,比如長度多少米,金額多少元,貨物多少公斤等等&#xf…

html代碼大全(很全的)_HTML教學(1):寫一個屬于自己的網址大全(新手版)

超文本標記語言(Hyper Text Markup Language),縮寫為HTML,標準通用標記語言下的一個應用。HTML不是一種編程語言,而是一種標記語言 (markup language)只要你打開瀏覽器,第一眼看到的…

清華大學計算機系高考生源,清華大學在這個高考大省錄取人數創新高,網友:仍然是同分不同命...

在眾多高考學子眼中,只有“兩個學校”,一個是“清華、北大”,一個是“其他學校”,不僅是高考學子,清華、北大在眾多人心目中也是十分神圣的。很多學生家長把考上清華、北大作為子女的唯一追求,認為只有考上…

list的contains方法為什么不好使_道理都懂,為什么我們還打不好網球?

中年人的悲哀在于,懂得很多道理,可依然過不好自己的一生。打網球亦是如此。——題記人到中年,有了一定的社會經驗,也懂得了很多道理,可大部分人還是過不好自己的生活。正如打網球一樣。盯準球、早點打、降低重心、保持…

docker公共存儲庫_Docker Hub公共鏡像倉庫的使用

Docker Hub目前 Docker 官方維護了一個公共倉庫 Docker Hub,其中已經包括了數量超過 15,000 的鏡像。大部分需求都可以通過在 Docker Hub 中直接下載鏡像來實現。Docker Hub的功能Docker Hub被用于源代碼管理集成,也用于構建和測試工具來加速部署周期&am…

html5登錄界面源代碼_最新版本尤娜博客已更新源代碼(速拿!!!)

大家好,我是尤娜博客(una-boot)的作者樹下魅狐,自2019年9月una-boot-1.0.0版本開源以來,陸續有熱愛技術,鐘愛技術寫作的小伙伴為尤娜提出了寶貴的改進意見和建議,在此表示衷心的感謝,謝謝大家的支持&#x…

抓包紅色_抓包三部曲 WebSocket 協議原理抓包分析

這篇文章通過抓包分析 WebSocket 協議的細節,學習一下 WebSocket 執行流程。1.WebSocket 流程說明(1)客戶端和服務器之間完成三次握手建立 TCP 連接(TLS/SSL)握手。(2)客戶端發起 HTTP 請求和服務器之間建立 WebSocket 握手。(3)WebSocket 連接建立之后,…

計算機農業sci,IEEE旗下JCR1區智慧農業類SCIEI期刊

原標題:IEEE旗下JCR1區智慧農業類SCI&EI期刊各位學者,EA-ISET 協會(www.ea-iset.org)重點期刊推薦,IEEE旗下JCR1區智慧農業類SCI&EI期刊 ,版面有限,錄滿即止,具體信息如下:一、期刊信息JCR1區智慧農…

python 多條件 選擇 算法_python部署python算法 - 快速尋找滿足條件的兩個數

題目前提是一定存在這樣兩個數 解法一就不寫了...一般想不到吧 一開始想到的是解法二最后的用hash表 (其實是想到創建一個跟target一樣大的數組啦..存在就寫入index,但是要全部找出,那得二維數組,但是后面想到target要是很大的話&…

3d打印主要的切片參數類型_3D打印機切片參數詳情說明

在使用3D打印機的過程中,切片是一個我們無法避免要操作的步驟,接下來我們將簡單介紹一下切片的相關參數。底部類型設置模型打印第一層的類型,以適應不同打印需求Skirt模型底部不與模型接觸,確保擠出正常SkirtBrim與模型底部接觸&a…

西南科技大學研究生計算機,我們畢業啦……西南科技大學2020研究生畢業記!...

“各位旅客,列車前方到站是終點站,畢業。要下車的乘客,請帶好您的行李和貴重物品,準備下車。”每當畢業季來臨時,時間的流逝似乎開了倍速,掠過青春的云海,不因劇情的精彩而暫停。近日&#xff0…

決策樹和隨機森林算法 簡介

決策樹(Decision Tree) 是一種基礎的分類和回歸算法隨機森林 是由多棵決策樹集成在一起的集成學習算法 決策樹生成過程: 特征選擇決策樹生成決策樹剪枝 信息熵 用來衡量一個節點內信息的不確定性的。 信息熵越大, 不確定性越大, 樣本就越多樣, 樣本…

java 抽象類_什么是final?Java抽象類又是什么?抽象類能使用 final 修飾嗎?

第十三題講解人:張小龍 8.23郵箱:2304940425qq.com一.什么是final?final是java中的一個關鍵字,可以用來修飾變量、方法和類。用關鍵詞final修飾的域成為最終域。用關鍵詞final修飾的變量一旦賦值,就不能改變&…

mysql范式與反范式_MySQL 三種范式以及反范式 | 劍花煙雨江南

第一范式確保數據表中每列(字段)的原子性,即每個字段都是最小單位,不可拆分。如:用戶表(user)中的 user_name,password,nick_name。第二范式在第一范式的基礎上,保證表中的每列都與主鍵相關。如果一個關系滿…