Cra*_*ker -1 python tkinter python-docx python-3.5
我正在使用 python 3.5、python-docx 和 TKinter。有没有办法能够在输入框中输入 .txt 文件名,并让 python 将该 .txt 文件的内容插入到 docx 中的特定位置?我知道如何从 tkinter 中的输入框获取信息以及如何将它们转换为字符串。
我希望能够在输入框中输入某人的姓名(这也是文本文件的名称),并让 python 插入 .txt 文件的内容。
谢谢
这里更新是我正在尝试的代码
from tkinter import *
from tkinter import ttk
import tkinter as tk
from docx import Document
root=Tk()
def make_document():
testbox=ProjectEngineerEntry.get()
TestBox=str(testbox)
def projectengineer():
with open(+TestBox+'.txt') as f:
for line in f:
document.add_paragraph(line)
document=Document()
h1=document.add_heading('engineer test',level=1)
h1a=document.add_heading('Project Engineer',level=2)
projectengineer()
document.save('test.docx')
notebook=ttk.Notebook()
notebook.pack(fill=BOTH)
frame1=ttk.Frame(notebook)
notebook.add(frame1,text='Tester',sticky=W)
tester1=Label(frame1,text='Test1')
ProjectEngineerEntry=Entry(frame1)
tester1.pack()
ProjectEngineerEntry.pack()
save=Button(frame1,text='Save',command=make_document).pack()
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我试图从输入框中获取信息,将其转换为字符串,然后使用该字符串打开具有该特定名称的文本文件。然而我不断得到
TypeError:一元 + 的操作数类型错误:'str'
我不明白这是怎么回事。在实际文档中,我在保存文件时使用了 ++ 方法(将其另存为当前日期和时间)。
python-docx没有这个功能,而且不太可能有。通常,此类事情是由脚本或应用程序使用python-docx. 像这样的东西:
from docx import Document
document = Document()
with open('textfile.txt') as f:
for line in f:
document.add_paragraph(line)
document.save('wordfile.docx')
Run Code Online (Sandbox Code Playgroud)
您需要处理细节,例如如何分隔段落(可能是空行)等等,但代码不需要比这长得多。
| 归档时间: |
|
| 查看次数: |
2792 次 |
| 最近记录: |