python 大数据 pdf下载 用python写游戏的后端服务器,有什么好的实践?

虚拟屋 2023-06-08 07:07 编辑:admin 300阅读

一、用python写游戏的后端服务器,有什么好的实践?

可以参考下书籍

书籍:Python游戏开发 Game Development Using Python - 2019.pdf

https://www.jianshu.com/p/094faefbdf57

可下载

二、python读取pdf内容?

代码示例:

#!/usr/bin/env python3

#-*- coding:utf-8 -*-

# pip3 install pdfminer3k

from pdfminer.converter import PDFPageAggregator

from pdfminer.layout import LAParams, LTTextBoxHorizontal

from pdfminer.pdfparser import PDFParser, PDFDocument

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter, PDFTextExtractionNotAllowed

from pdfminer.pdfdevice import PDFDevice

def read_pdf(pdf_name, result_name):

# 以二进制读模式打开

fp = open(pdf_name, 'rb')

# 用文件对象来创建一个pdf文档分析器

parser = PDFParser(fp)

# 创建一个pdf文档

doc = PDFDocument()

# 连接分析器 与文档对象

parser.set_document(doc)

doc.set_parser(parser)

# 提供初始密码,如果没有密码 就创建一个空的字符串

doc.initialize('')

# 检测文档是否提供txt转换,不提供就抛出异常

if not doc.is_extractable:

raise PDFTextExtractionNotAllowed

# 创建PDf 资源管理器 来管理共享资源

rsrcmgr = PDFResourceManager()

# 创建一个PDF设备对象

laparams = LAParams()

device = PDFPageAggregator(rsrcmgr, laparams=laparams)

# 创建一个PDF解释器对象

interpreter = PDFPageInterpreter(rsrcmgr, device)

with open(result_name,"w",encoding="u8") as fd_out:

# 循环遍历列表,每次处理一个page的内容

for i,page in enumerate(doc.get_pages(),1):

index = "===========《第{}页》===========".format(i)

print(index)

fd_out.write(index + "\n")

interpreter.process_page(page)

# 接受该页面的LTPage对象

layout = device.get_result()

for x in layout:

# 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象 一般包括LTTextBox,

# LTFigure, LTImage, LTTextBoxHorizontal 等等 想要获取文本就获得对象的text属性

if not isinstance(x, LTTextBoxHorizontal):

continue

results = x.get_text()

print(results)

fd_out.write(results)

if __name__ == '__main__':

pdf_name = 'test.pdf'

result = 'test.txt'

read_pdf(pdf_name, result)

三、ai怎样添加整个pdf文档?

要将整个PDF文档添加到AI模型中,您需要将其转换为模型可以处理的文本格式。以下是一种常见的方法:

1. 使用PDF处理工具将PDF文档转换为文本文件。您可以使用Python中的第三方库,例如PyPDF2或pdfminer,或者使用在线工具将PDF转换为文本。

2. 如果选择使用Python库,您可以使用以下示例代码将PDF转换为文本:

```python

import PyPDF2

def pdf_to_text(pdf_path):

    text = ""

    with open(pdf_path, 'rb') as file:

        reader = PyPDF2.PdfFileReader(file)

        num_pages = reader.numPages

        for page in range(num_pages):

            page_obj = reader.getPage(page)

            text += page_obj.extractText()

    return text

pdf_path = 'path_to_your_pdf.pdf'

text = pdf_to_text(pdf_path)

```

请注意,这种方法可能无法完全保留PDF中的格式和布局,因为它只是提取文本内容。

3. 将文本传递给AI模型进行处理。您可以使用适用于您选择的AI模型的API或库。对于基于OpenAI的ChatGPT模型,您可以使用OpenAI API将文本发送给模型进行处理。以下是使用OpenAI Python库的示例代码:

```python

import openai

openai.api_key = 'your_api_key'

response = openai.Completion.create(

  engine='text-davinci-003', # 或者其他适用的模型引擎

  prompt=text,

  max_tokens=100

)

generated_text = response.choices[0].text.strip()

```

在上面的代码中,`text`变量是您从PDF中提取的文本内容。将其作为输入传递给模型进行处理,并从响应中提取生成的文本。

请确保在使用OpenAI API时遵循相关的使用政策和准则,并使用适当的认证和安全措施来保护您的API密钥和数据。

这只是一个简单的示例,实际实现中可能需要根据您的具体需求进行适当的修改和调整。