python-docx的简单使用示例教程

python-docx的简单使用

'''
设置表格所有单元格的四个边为0.5磅,黑色,实线
可以使用返回值,也可以不使用
'''
def 设置表格网格线为黑色实线(table_object:object):
    kwargs = {
        "top":{"sz": 4, "val": "single", "color": "#000000"},
        "bottom":{"sz": 4, "val": "single", "color": "#000000"},
        "left":{"sz": 4, "val": "single", "color": "#000000"},
        "right":{"sz": 4, "val": "single", "color": "#000000"},
        "insideV":{"sz": 4, "val": "single", "color": "#000000"},
        "insideH":{"sz": 4, "val": "single", "color":  "#000000"}
        }
    borders = docx.oxml.OxmlElement('w:tblBorders')
    for tag in ('bottom', 'top', 'left', 'right', 'insideV', 'insideH'):
        edge_data = kwargs.get(tag)
        if edge_data:
            any_border = docx.oxml.OxmlElement(f'w:{tag}')
            for key in ["sz", "val", "color", "space", "shadow"]:
                if key in edge_data:
                    any_border.set(docx.oxml.ns.qn(f'w:{key}'), str(edge_data[key]))
            borders.append(any_border)
            table_object._tbl.tblPr.append(borders)
    return table_object
'''
设置标题样式
'''
def 设置标题样式为黑色宋体(heading_object:object):
    heading_object.alignment = docx.enum.text.WD_ALIGN_PARAGRAPH.LEFT  #左对齐
    for run in heading_object.runs:
        run.font.name=u'宋体'    #设置为宋体
        #run._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')#设置为宋体,和上边的一起使用
        run.font.color.rgb = docx.shared.RGBColor(0,0,0)#设置颜色为黑色
    return heading_object
'''
创建docx文档,将翻译结果和原文写入文档中
'''
def word():
    my_word_doc = docx.Document()   #打开一个空白文档
    # for style in my_word_doc.styles:
    #     print(style)
    heading = my_word_doc.add_heading(翻译结果["NAME"],level=2)    #指定样式标题2
    设置标题样式为黑色宋体(heading)
    heading = my_word_doc.add_heading("描述",level=3)    #指定样式标题3
    设置标题样式为黑色宋体(heading)
    for line in 翻译结果["SYNOPSIS"].split("\n"):
        my_word_doc.add_paragraph(line)
    for line in 翻译结果["DESCRIPTION"].split("\n"):
        my_word_doc.add_paragraph(line)
    heading = my_word_doc.add_heading("参数",level=3)    #指定样式标题3
    设置标题样式为黑色宋体(heading)
    #table = my_word_doc.add_table(rows=len(翻译结果["PARAMETERS"]), cols=3)    #指定样式标题3;在末尾添加一个表
    table = my_word_doc.add_table(rows=len(翻译结果["PARAMETERS"]), cols=2)    #指定样式标题3;在末尾添加一个表
    #table.style = my_word_doc.styles['Medium Grid 1']
    设置表格网格线为黑色实线(table)
    index=0
    for key,value in 翻译结果["PARAMETERS"].items():
        for line in key.split("\n"):
            cell = table.cell(index,0)
            cell.text += line
        for line in value.split("\n"):
            table.cell(index,1).text += line
        #table.cell(index,1).text = 帮助文件解析结果["PARAMETERS"][key]
        cell_paragraphs = table.cell(index,0).paragraphs
        for i in cell_paragraphs:
            i.alignment = docx.enum.text.WD_PARAGRAPH_ALIGNMENT.LEFT  #左对齐
        cell_paragraphs = table.cell(index,1).paragraphs
        for i in cell_paragraphs:
            i.alignment = docx.enum.text.WD_PARAGRAPH_ALIGNMENT.LEFT  #左对齐
        # table.cell(index,2).text = value
        # cell_paragraphs = table.cell(index,2).paragraphs
        # for i in cell_paragraphs:
        #     i.alignment = docx.enum.text.WD_PARAGRAPH_ALIGNMENT.LEFT  #左对齐
        index += 1
    heading = my_word_doc.add_heading("示例",level=3)    #指定样式标题3
    设置标题样式为黑色宋体(heading)
    for key,value in 翻译结果["Example"].items():
        heading = my_word_doc.add_heading(key[0:-1],level=4)    #指定样式标题4
        设置标题样式为黑色宋体(heading)
        for line in value.split("\n"):
            my_word_doc.add_paragraph(line)
    my_word_doc.save(r"C:\Users\gyj\Downloads\temp.docx")

实际上我是拿来转换PowerShell cmdlet命令的帮助txt文件为word文档的。其中带了翻译。简单记录下。

import docx #pip install python-docx
import re
import json
import requests
import time
import hashlib
from urllib.parse import urlencode
import random
import copy
#字典形式
帮助文件解析结果={"NAME":"","SYNOPSIS":"","DESCRIPTION":"","PARAMETERS":{},"Example":{}};
翻译结果={"NAME":"","SYNOPSIS":"","DESCRIPTION":"","PARAMETERS":{},"Example":{}};
'''
'''
def 解析PowerShell命令的帮助文本(文件路径:str):
    with open(文件路径,mode='r',encoding='utf-8') as fd_help:
        line = fd_help.readline();
        while line:
            if(line.strip() == "NAME"):
                line = fd_help.readline()
                line = line.strip()
                帮助文件解析结果['NAME'] = line
            elif(line.strip() == "SYNOPSIS"):
                line = fd_help.readline()
                while line[0:4]=="    ":
                    帮助文件解析结果['SYNOPSIS'] += line.lstrip()
                    line = fd_help.readline()
            elif(line.strip() == "DESCRIPTION"):
                line = fd_help.readline()
                while line[0:4]=="    ":
                    帮助文件解析结果['DESCRIPTION'] += line.lstrip()
                    line = fd_help.readline()
            elif(line.strip() == "PARAMETERS"):
                line = fd_help.readline()
                while line[0:4]=="    ":
                    参数名 = line.lstrip()
                    帮助文件解析结果['PARAMETERS'][参数名] = ""
                    line = fd_help.readline()
                    while line[0:8]=="        ":
                        帮助文件解析结果['PARAMETERS'][参数名] += line.lstrip()
                        line = fd_help.readline()
                    if(len(re.findall(r'^\s*-*\s*Example',line))):
                        break
            elif(len(re.findall(r'^\s*-*\s*Example',line))):
                temp=re.sub(r"^\s*-*\s*([\w,\.: ]+) *-*",r"\1",line)
                temp.rstrip()
                帮助文件解析结果["Example"][temp]="";
                line = fd_help.readline()
                while line:
                    if(len(re.findall(r'^\s*-*\s*Example',line))):
                        temp=re.sub(r"^\s*-*\s*([\w,\.: ]+) *-*",r"\1",line)
                        temp.rstrip()
                        帮助文件解析结果["Example"][temp]="";
                        line = fd_help.readline()
                    while not (len(re.findall(r'^\s*-*\s*Example',line))) and line:
                        帮助文件解析结果["Example"][temp]+=line.lstrip()
                        line = fd_help.readline()
            else:
                line = fd_help.readline()
    #检查key=""的情况,并删除这样的key
    if("" in 帮助文件解析结果):
        del 帮助文件解析结果[""]
    if("" in 帮助文件解析结果["PARAMETERS"]):
        del 帮助文件解析结果["PARAMETERS"][""]
    if("" in 帮助文件解析结果["Example"]):
        del 帮助文件解析结果["Example"][""]
# 本文件是通过请求有道翻译,去获取翻译结果
'''
i: 你好
from: AUTO
to: AUTO
smartresult: dict
client: fanyideskweb
salt: 16643765479061    //毫秒级别的时间戳后面加上个0-9之间的随机数,js代码:r + parseInt(10 * Math.random(), 10);这里的r表示时间戳字符串
sign: 1d69ce8f7c6258243e573e31e29e0012    //签名,下面找到了
lts: 1664376547906        //毫秒级别的时间戳
bv: 42c8b36dd7d61c619e7b1dc11e44d870    //同设备相同,使用md5加密的(方法是:md5(User-Agent)==>md5("5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53")
doctype: json
version: 2.1
keyfrom: fanyi.web
action: FY_BY_REALTlME
/*
解密出来了:sign的计算如下
define("newweb/common/service", ["./utils", "./md5", "./jquery-1.7"], function(e, t) {
    var n = e("./jquery-1.7");
    e("./utils");
    e("./md5");
    var r = function(e) {
        var t = n.md5(navigator.appVersion)
          , r = "" + (new Date).getTime()
          , i = r + parseInt(10 * Math.random(), 10);
        return {
            ts: r,
            bv: t,
            salt: i,
            sign: n.md5("fanyideskweb" + e + i + "Ygy_4c=r#e#4EX^NUGUc5")    //在这里,e是要翻译的内容,i是毫秒级别的时间戳后面加上个0-9之间的随机数;后面这串字符串估计是服务器那边随机生成的,应该会变化。每次抓取的时候,可以查看下js代码
        }
    };
    总体来说,data数据由函数“generateSaltSign”计算出来
*/
'''
'''
获取翻译结果
The_translated_string:被翻译的字符串
由于翻译是以行为单位,所以一行一个结果,函数将解析The_translated_string参数,并以字符串形式返回所有翻译结果
'''
def youdao_translate(The_translated_string:str):
    if(The_translated_string == ""):
        return {"":""}
    url = r'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
    User_Agent = "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.37"
    header = {
        "Accept": "application/json, text/javascript, */*; q=0.01",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
        "Connection": "keep-alive",
        #"Content-Length": "307",
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "Cookie":"OUTFOX_SEARCH_USER_ID=1135160796@10.108.162.134; OUTFOX_SEARCH_USER_ID_NCOO=775555146.507473; JSESSIONID=aaaQ2GYK5N-ozb24rKNcy; SESSION_FROM_COOKIE=unknown; DICT_UGC=be3af0da19b5c5e6aa4e17bd8d90b28a|; JSESSIONID=abcPzon0RcZqc7GltuAgy; ___rl__test__cookies=1665366515354",
        "Host": "fanyi.youdao.com",
        "Origin": "https://fanyi.youdao.com",
        "Referer": "https://fanyi.youdao.com/",
        "sec-ch-ua": """\"Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"\"""",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "Windows",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-origin",
        "User-Agent": User_Agent,
        "X-Requested-With": "XMLHttpRequest"
    }
    #The_translated_string=input("输入你要翻译的中文信息:\n")  # 被翻译的字符串
    timestamp = str(round(time.time()*1000))  # 毫秒级别的时间戳
    salt = timestamp + str(random.randint(0, 9))  # 毫秒级别的时间戳后面加上个0-9之间的随机数
    sign_str = "fanyideskweb" + The_translated_string + salt + "Ygy_4c=r#e#4EX^NUGUc5"  # 构造签名字符串
    # 签名,算法:sign: n.md5("fanyideskweb" + e + i + "Ygy_4c=r#e#4EX^NUGUc5")    //在这里,后面这串字符串估计是服务器那边随机生成的,应该会变化。每次抓取的时候,可以查看下js代码
    sign = hashlib.md5(str.encode(sign_str)).hexdigest()
    # 同设备相同,使用md5加密的(方法是:md5(User-Agent)==>md5("5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53")
    bv = hashlib.md5(str.encode(User_Agent)).hexdigest()
    cookies = {
        "OUTFOX_SEARCH_USER_ID": "1135160796@10.108.162.134",
        "OUTFOX_SEARCH_USER_ID_NCOO": "775555146.507473",
        "JSESSIONID": "aaaQ2GYK5N-ozb24rKNcy",
        "SESSION_FROM_COOKIE": "unknown",
        "DICT_UGC": "be3af0da19b5c5e6aa4e17bd8d90b28a|",
        "JSESSIONID": "abcPzon0RcZqc7GltuAgy",
        "___rl__test__cookies": "1665366515354"
    }
    data = {
        "i": The_translated_string,
        "from": "AUTO",
        "to": "AUTO",
        # 一般来说,是从中文翻译为英文
        # "from": "zh-CHS",
        # "to": "en",
        "smartresult": "dict",
        "client": "fanyideskweb",
        "salt": salt,
        "sign": sign,
        "lts": timestamp,
        "bv": bv,
        "doctype": "json",
        "version": "2.1",
        "keyfrom": "fanyi.web",
        "action": "FY_BY_CLICKBUTTION"
    }
    data = urlencode(data);
    result = requests.post(url, data=data, cookies=cookies,headers=header)
    json_result = json.loads(result.text);
    #lines = The_translated_string.splitlines();     #按照行边界拆分
    if(not json_result["errorCode"]):
        ret_list="";
        for i in json_result["translateResult"]:    #如果源字符串就是存在段落的,则这里就会根据其来分结果
            for j in i:                             #翻译服务器认为该分段的,这里就会再次存在子项
                ret_list+=j['tgt']
                ret_list+="\n"
            #ret_list[json_result["translateResult"][i][0]["src"]]=json_result["translateResult"][i][0]["tgt"]
        return ret_list;
    else:
        return "errorCode = "+str(json_result["errorCode"]);
#示例
'''
str_ = "你好\n世界\n我来了\n哈哈"
print(youdao_translate(str_))
-----out-----
{'你好': 'hello', '世界': 'The world', '我来了': "I'm coming", '哈哈': 'Ha ha'}
'''
'''
将变量“帮助文件解析结果”中的value翻译成中文
'''
def 执行翻译():
    翻译结果 = copy.deepcopy(帮助文件解析结果)  #这里执行了深拷贝了,所以它不再是外面的那个“翻译结果”变量了
    翻译结果["SYNOPSIS"] = youdao_translate(翻译结果["SYNOPSIS"])
    翻译结果["DESCRIPTION"] = youdao_translate(翻译结果["DESCRIPTION"])
    for key,value in 翻译结果["PARAMETERS"].items():
        if(value == ""):
            continue
        翻译结果["PARAMETERS"][key] = youdao_translate(value)
    for key,value in 翻译结果["Example"].items():
        if(value == ""):
            continue
        翻译结果["Example"][key] = youdao_translate(value)
    temp_dict = {}
    for key,value in 翻译结果["Example"].items():
        if(key == ""):
            continue
        temp_dict[youdao_translate(key)] = value
    翻译结果["Example"] = temp_dict
    return 翻译结果
'''
设置表格所有单元格的四个边为0.5磅,黑色,实线
可以使用返回值,也可以不使用
'''
def 设置表格网格线为黑色实线(table_object:object):
    kwargs = {
        "top":{"sz": 4, "val": "single", "color": "#000000"},
        "bottom":{"sz": 4, "val": "single", "color": "#000000"},
        "left":{"sz": 4, "val": "single", "color": "#000000"},
        "right":{"sz": 4, "val": "single", "color": "#000000"},
        "insideV":{"sz": 4, "val": "single", "color": "#000000"},
        "insideH":{"sz": 4, "val": "single", "color":  "#000000"}
        }
    borders = docx.oxml.OxmlElement('w:tblBorders')
    for tag in ('bottom', 'top', 'left', 'right', 'insideV', 'insideH'):
        edge_data = kwargs.get(tag)
        if edge_data:
            any_border = docx.oxml.OxmlElement(f'w:{tag}')
            for key in ["sz", "val", "color", "space", "shadow"]:
                if key in edge_data:
                    any_border.set(docx.oxml.ns.qn(f'w:{key}'), str(edge_data[key]))
            borders.append(any_border)
            table_object._tbl.tblPr.append(borders)
    return table_object
'''
设置标题样式
'''
def 设置标题样式为黑色宋体(heading_object:object):
    heading_object.alignment = docx.enum.text.WD_ALIGN_PARAGRAPH.LEFT  #左对齐
    for run in heading_object.runs:
        run.font.name=u'宋体'    #设置为宋体
        #run._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')#设置为宋体,和上边的一起使用
        run.font.color.rgb = docx.shared.RGBColor(0,0,0)#设置颜色为黑色
    return heading_object
'''
创建docx文档,将翻译结果和原文写入文档中
'''
def word():
    my_word_doc = docx.Document()   #打开一个空白文档
    # for style in my_word_doc.styles:
    #     print(style)
    heading = my_word_doc.add_heading(翻译结果["NAME"],level=2)    #指定样式标题2
    设置标题样式为黑色宋体(heading)
    heading = my_word_doc.add_heading("描述",level=3)    #指定样式标题3
    设置标题样式为黑色宋体(heading)
    for line in 翻译结果["SYNOPSIS"].split("\n"):
        my_word_doc.add_paragraph(line)
    for line in 翻译结果["DESCRIPTION"].split("\n"):
        my_word_doc.add_paragraph(line)
    heading = my_word_doc.add_heading("参数",level=3)    #指定样式标题3
    设置标题样式为黑色宋体(heading)
    #table = my_word_doc.add_table(rows=len(翻译结果["PARAMETERS"]), cols=3)    #指定样式标题3;在末尾添加一个表
    table = my_word_doc.add_table(rows=len(翻译结果["PARAMETERS"]), cols=2)    #指定样式标题3;在末尾添加一个表
    #table.style = my_word_doc.styles['Medium Grid 1']
    设置表格网格线为黑色实线(table)
    index=0
    for key,value in 翻译结果["PARAMETERS"].items():
        for line in key.split("\n"):
            cell = table.cell(index,0)
            cell.text += line
        for line in value.split("\n"):
            table.cell(index,1).text += line
        #table.cell(index,1).text = 帮助文件解析结果["PARAMETERS"][key]
        cell_paragraphs = table.cell(index,0).paragraphs
        for i in cell_paragraphs:
            i.alignment = docx.enum.text.WD_PARAGRAPH_ALIGNMENT.LEFT  #左对齐
        cell_paragraphs = table.cell(index,1).paragraphs
        for i in cell_paragraphs:
            i.alignment = docx.enum.text.WD_PARAGRAPH_ALIGNMENT.LEFT  #左对齐
        # table.cell(index,2).text = value
        # cell_paragraphs = table.cell(index,2).paragraphs
        # for i in cell_paragraphs:
        #     i.alignment = docx.enum.text.WD_PARAGRAPH_ALIGNMENT.LEFT  #左对齐
        index += 1
    heading = my_word_doc.add_heading("示例",level=3)    #指定样式标题3
    设置标题样式为黑色宋体(heading)
    for key,value in 翻译结果["Example"].items():
        heading = my_word_doc.add_heading(key[0:-1],level=4)    #指定样式标题4
        设置标题样式为黑色宋体(heading)
        for line in value.split("\n"):
            my_word_doc.add_paragraph(line)
    my_word_doc.save(r"C:\Users\xxx\Downloads\temp.docx")
解析PowerShell命令的帮助文本(r"C:\Users\xxx\Downloads\Get-CimClass.txt")
#有道翻译的新版翻译结果解析实在是太变态了,我搞不了,是在不行就把格式弄好,使用文档翻译翻译吧。
#翻译结果 = 执行翻译()
翻译结果=帮助文件解析结果
word()

到此这篇关于python-docx的简单使用示例教程的文章就介绍到这了,更多相关python-docx使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python使用docx模块实现刷题功能代码

    起由: 前一阵子想要刷一刷国二Python的题库,千方百计找到题库之后,打开一个个word文档,发现一题一题阅读很麻烦,而且答案就在题目的下面,阅读题目的时候想自己做出题目却又总能不经意看到答案,甚烦!遂开始敲代码,我要一题一题做,还不能看见答案. 着手: word文档是这样的: 观察word内容,每道题目的题目内容和题目答案都是一样的格式,包括缩进.字体等等,那么就可以使用Python对文件的读操作,浏览文档的内容,在适当的内容区域设置输入,将输入与答案进行判断是否相等,即可实现简单的刷题功能

  • python中使用docx模块处理word文档

    目录 一.docx模块 二.相关概念 三.模块的安装和导入 四.读取word文本 一.docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象进行处理就是对word文档的内容处理. 二.相关概念 如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解python-docx模块的几个概念. Document对象,表示

  • 教你使用Python根据模板批量生成docx文档

    一.需求说明 能够根据模板批量生成docx文档.具体而言,读取excel中的数据,然后使用python批量生成docx文档. 二.实验准备 准备excel数据: 这里是关于学生语数英成绩的统计表,文件名为score.xls 准备模板: 这是给学生家长的成绩通知书,文件名为template.doc 另外,在使用python进行实验之前,需要先安装第三方库docxtpl和xlrd,直接pip install就行: pip install docxtpl pip install xlrd 然后将xls

  • python使用docx模块读写docx文件的方法与docx模块常用方法详解

    一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象进行处理就是对word文档的内容处理. 二,相关概念 如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解python-docx模块的几个概念. 1,Document对象,表示一个word文档. 2,Paragraph对象,表示word文档中的一个段落

  • 使用Python docx修改word关键词颜色的操作

    需求: 在刷word题库的时候,答案就在题目下方,干扰复习效果,将答案字体变成白色,查看答案的时候只需要将答案背景刷黑 转换需求: 在word中找到关键字"答案"将其后面的信息改变颜色为白色 由于第一次使用 import docx,最初想按照如上思想实现比较麻烦,后整理思路,将题库保存为txt,逐条读取转存入word,利用分割函数对关键字进行分割,关键字后面的信息即为答案改变颜色,效果和需求一致,只是新建了文件 实现代码: import os import re import docx

  • Ubuntu下使用python读取doc和docx文档的内容方法

    读取docx文档 使用的包是python-docx 1. 安装python-docx包 sudo pip install python-docx 2. 使用python-docx包读取数据 #encoding:utf8 import docx doc = docx.Document('test.docx') docText = '\n'.join([paragraph.text for paragraph in doc.paragraphs]) #print(docText) python-do

  • Python使用python-docx读写word文档

    python-docx库可用于创建和编辑Microsoft Word(.docx)文件. 官方文档:链接地址 备注: doc是微软的专有的文件格式,docx是Microsoft Office2007之后版本使用,其基于Office Open XML标准的压缩文件格式,比 doc文件所占用空间更小.docx格式的文件本质上是一个ZIP文件,所以其实也可以把.docx文件直接改成.zip,解压后,里面的 word/document.xml包含了Word文档的大部分内容,图片文件则保存在word/me

  • Python中docx2txt库的使用说明

    docx2txt的Github地址 docx2txt是基于python的从docx文件中提取文本和图片的库. 代码是从python-docx中获取的.它也可以从页眉,页脚和超链接中提取文本.它现在也可以提取图像. 安装 pip install docx2txt 运行 1.命令行运行 # extract text docx2txt file.docx # extract text and images docx2txt -i /tmp/img_dir file.docx 2.在python中调用

  • 如何使用python docx模块操作word文档

    目录 引言 打开文档 正文应用字符样式(字体,大小,颜色) 添加标题 操作段落 添加段落 删除段落 替换文字 设置段落对齐方式 字体格式 添加分页符 添加表 添加图片 图像大小 应用段落样式 应用粗体和斜体 应用字符样式 指定路径并保存文件 实际案例 引言 入门python-docx很容易.让我们来看一下基础知识. 官方文档 打开文档 你需要的第一件事是工作的文档.最简单的方法是: from docx import Document document = Document() 这将打开一个基于默

  • android蓝牙简单开发示例教程

    目录 概述 1.权限申请 2.打开蓝牙 3.接收蓝牙状态的改变 4.扫描其他的设备 5.蓝牙配对 6.获取已经配对的设备 7.连接设备 概述 前段时间学习了一些蓝牙开发的知识,记录一下Android中蓝牙的简单开发.下面是最重要的两个类. BluetoothAdapter : 蓝牙适配器,通过getDefaultAdapter ()去获取一个实例,如果设备不支持蓝牙的话,返回的是一个null对象,通过它,可以打开.关闭蓝牙,扫描设备.向指定设备创建socket通道- BluetoothDevic

  • Python使用matplotlib简单绘图示例

    本文实例讲述了Python使用matplotlib简单绘图.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python2 """ Created on Mon Apr 24 12:48:40 2017 @author: x-power """ import matplotlib.pyplot as plt #首先载入 matplotlib的绘图模块pyplot,并且重命名为plt. import numpy

  • Java Spring开发环境搭建及简单入门示例教程

    本文实例讲述了Java Spring开发环境搭建及简单入门示例.分享给大家供大家参考,具体如下: 前言 虽然之前用过Spring,但是今天试着去搭建依然遇到了困难,而且上网找教程,很多写的是在web里使用Spring MVC的示例,官方文档里的getting start一开始就讲原理去了(可能打开的方法不对).没办法,好不容易实验成功了,记下来免得自己以后麻烦. 添加依赖包 进入spring官网,切换到projects下点击 spring framework.官网上写的是以maven依赖的形式写

  • python os模块简单应用示例

    本文实例讲述了python os模块简单应用.分享给大家供大家参考,具体如下: 举例中的目录形式如下所示: In [36]: pwd Out[36]: '/home/python/Desktop/code' In [37]: ls hello.py hello.txt test.py 文件夹01/ 文件夹02/ 文件夹03/ 1.当前路径及路径下的文件 os.getcwd():查看当前所在路径. os.listdir(path):列举目录下的所有文件.返回的是列表类型. In [1]: impo

  • Python Socket实现简单TCP Server/client功能示例

    本文实例讲述了Python Socket实现简单TCP Server/client功能.分享给大家供大家参考,具体如下: 网络上关于socket的介绍文章数不胜数.自己记录下学习的点点滴滴.以供将来复习学习使用. socket中文的翻译是套接字,总感觉词不达意.简单的理解就是ip+port形成的一个管理单元.也是程序中应用程序调用的接口. 在这里我们先介绍如何启动tcp 的server. tcp连接中server部分,启动一个ip和port口,在这个port口监听,当收到client发来的请求,

  • Python中join函数简单代码示例

    本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给拼接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解. 首先展示下结果吧! 代码分享: a=["豫","N","C8","C89"] b=("豫","N","C8","C89") c="zhang" a

  • python Tkinter的简单入门教程

    我们将编写一个英尺和米的转换程序,通过这个程序,我们将会了解一个真正的实用程序该怎么设计和编写,我们也将会了解到 Tk 程序内部的基本样子.不必完全掌握里面的所有知识,更多细节将会在之后的章节中讲到.本节仅要求了解即可,使读者明白如何设计和编写一个 Tk GUI 程序. 设计 我们将要写一个简单的将英尺(feet)转换为米(me­ters)的 GUI 工具,按照我们的经验,它应该长成下面那个样子: 这个程序会有一个输入框用来输入英尺数,还将会有一个显示框用来显示被转换之后的数字,几个用于显示提示

  • Python Pandas的简单使用教程

    一. Pandas简介 1.Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量能使我们快速便捷地处理数据的函数和方法.你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一. 2.Pandas 是python的一个数据分析包,最初由AQR Capital Management

  • python基于Bokeh库制作子弹图及瀑布图示例教程

    目录 子弹图 瀑布图 首先,让我们进行导入并使 Bokeh 的输出显示在我们的笔记本中: from bokeh.io import show, output_notebook from bokeh.palettes import PuBu4 from bokeh.plotting import figure from bokeh.models import Label output_notebook() 子弹图 在这个例子中,我们将用 python 列表填充数据. 我们可以修改它以适应Panda

  • python深度学习tensorflow入门基础教程示例

    目录 正文 1.编辑器 2.常量 3.变量 4.占位符 5.图(graph) 例子1:hello world 例子2:加法和乘法 例子3: 矩阵乘法 正文 TensorFlow用张量这种数据结构来表示所有的数据. 用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩阵,如:m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]],可以看成是方括号嵌套的层数. 1.编辑器 编写tensorflow代码,实际上就是编写py文件,最好找一个好用的编辑器

随机推荐