python-3.x 相关问题

有关特定于该语言版本3+的Python编程的问题。如果您的问题不是特定于版本,请使用更通用的[python]标记。

Numba 命名元组签名

我正在尝试在 Numba 中指定命名元组的返回类型,但我无法这样做。有人可以帮忙吗?考虑以下最少代码: 将 numba 导入为 nb 从集合导入

回答 2 投票 0

使用 Selenium 将图像上传到网站时遇到问题

我使用 Python 和 Selenium 创建了一个脚本,将图像从本地文件夹上传到此网页。该网站需要 Google 登录才能访问带有上传选项的页面。 一旦登录...

回答 1 投票 0

Python:查找并替换 html 标签,有例外吗?

我有这个 test.html,我需要找到以 和 开头的所有行,并用 而不是 clos... 我有这个 test.html,我需要找到以 <p class="text_obisnuit"> 和 <p class="text_obisnuit2"> 开头的所有行,并用 <br> 而不是关闭标签 </p>。所以,我必须删除 并替换为 </p> . 问题: 一切都有效,除了这个。我有一条只有 <br><br> 的行,必须从查找和替换列表中排除 <!-- ARTICOL START --> <div align="justify"> <table width="552" border="0"> <tr> <td><h1 class="den_articol" itemprop="name">Zbuciumul sufletelor tenace (II)</h1></td> </tr> <tr> <td class="text_dreapta">On Aprilie 27, 2013, in <a href="https://neculaifantanaru.com/leadership-fx-intensive.html" title="Vezi toate articolele din Leadership FX-Intensive" class="external" rel="category tag">Leadership FX-Intensive</a>, by Neculai Fantanaru</td> </tr> </table> <p class="text_obisnuit"><span class="text_obisnuit2">Zbuciumul sufletelor tenace </span>eviden&#355;iaz&#259; tendin&#355;a de a transforma evolu&#355;ia &icirc;n involu&#355;ie, atunci c&#226;nd zbuciumul t&#259;u existen&#355;ial pare c&#259; &icirc;ncepe s&#259; se &icirc;n&#259;spreasc&#259;. Astfel se creeaz&#259; o adev&#259;rat&#259; degringolad&#259; &icirc;n careul tr&#259;irilor &#351;i g&#226;ndurilor sale, o adev&#259;rat&#259; lupt&#259; &icirc;ntre tine &#351;i propriul t&#259;u Ego.<br> </p> <p class="text_obisnuit">Dac&#259; vrei s&#259; &#351;tii care este nivelul de leadership la care te afli, dac&#259; vrei s&#259; &#351;tii &icirc;n ce categorie de lideri te &icirc;ncadrezi, atunci dezleag&#259; adev&#259;ratul &icirc;n&#355;eles din spatele acelor vagi derute care &icirc;i despart pe oameni de cele dou&#259; constante: &ldquo; <em>a fi</em> &rdquo; &#351;i &ldquo; <em>a nu fi</em> &rdquo;, f&#259;r&#259; s&#259; te pierzi tu &icirc;nsu&#355;i &icirc;ntr-o mare de &icirc;ndoial&#259;.</p> <br><br> <p class="text_obisnuit"><span class="text_obisnuit2">* Not&#259;:</span> &ldquo; <em><a href="http://www.imdb.com/title/tt0780516/" target="_new">Flawless (2007)</a>&quot;</em></p> </div> <p align="justify" class="text_obisnuit style3">&nbsp;</p> <!-- ARTICOL FINAL --> Python代码: import os import regex as re def process_file_content(content): lines = content.split('\n') processed_lines = [] for line in lines: stripped_line = line.strip() # Păstrăm liniile cu <br><br> neschimbate if '<br><br>' in line: processed_lines.append(line) continue # Procesăm doar liniile care conțin taguri <p> if '<p class="text_obisnuit"' in line or '<p class="text_obisnuit2"' in line: # Înlocuim <br> la sfârșitul liniei cu </p> line = re.sub(r'(<p class="text_obisnuit2?">.*?)<br>\s*$', r'\1</p>', line) # Eliminăm spațiile inutile de la început line = re.sub(r'^\s*(<p class="text_obisnuit2?">)', r'\1', line) # Eliminăm </p> dublu line = re.sub(r'(<p class="text_obisnuit2?">.*?</p>)\s*</p>\s*', r'\1', line) processed_lines.append(line) content = '\n'.join(processed_lines) # Adăugăm spații între paragrafe content = re.sub(r'(</p>)\s*(<p class="text_obisnuit">)', r'\1\n\n\2', content) content = re.sub(r'(</p>)\s*(<p class="text_obisnuit2">)', r'\1\n\n\2', content) return content def process_html_files(directory): excluded_files = [ 'aforisme-si-pareri-bine-slefuite-III.html', 'aforisme-si-pareri-bine-slefuite-II.html', 'aforisme-si-pareri-bine-slefuite.html', 'cartea-cartilor.html', 'cartea-creatiei.html', 'cartea-de-nisip.html', 'ganduri-din-colturile-memoriei-III.html', 'imagini-din-muzeul-mitropolitan-iasi.html', 'ganduri-din-colturile-memoriei-II.html', 'ganduri-din-colturile-memoriei.html' ] for filename in os.listdir(directory): if filename.endswith('.html') and filename not in excluded_files: file_path = os.path.join(directory, filename) with open(file_path, 'r', encoding='utf-8') as file: content = file.read() processed_content = process_file_content(content) if content != processed_content: print(f"\nModificări în fișierul: {filename}") with open(file_path, 'w', encoding='utf-8') as file: file.write(processed_content) # Verificăm dacă mai există linii cu <br><br> după procesare if '<br><br>' in processed_content: print(f"\nLinia <br><br> păstrată în fișierul: {filename}") # Specificați directorul cu fișierele HTML directory = r'd:\55' process_html_files(directory) Face bine toate schimbarile, in afara de cazul ca linia care contine doar <br><br> este inlocuita cu <p class="text_obisnuit"></p> . Ei bine, trebuie o clauda prin care linia care contine doar <br><br> sa nu fie inclusa in celelalte Find and Replace. <!-- ARTICOL START --> <div align="justify"> <table width="552" border="0"> <tr> <td><h1 class="den_articol" itemprop="name">Zbuciumul sufletelor tenace (II)</h1></td> </tr> <tr> <td class="text_dreapta">On Aprilie 27, 2013, in <a href="https://neculaifantanaru.com/leadership-fx-intensive.html" title="Vezi toate articolele din Leadership FX-Intensive" class="external" rel="category tag">Leadership FX-Intensive</a>, by Neculai Fantanaru</td> </tr> </table> <p class="text_obisnuit"><span class="text_obisnuit2">Zbuciumul sufletelor tenace </span>eviden&#355;iaz&#259; tendin&#355;a de a transforma evolu&#355;ia &icirc;n involu&#355;ie, atunci c&#226;nd zbuciumul t&#259;u existen&#355;ial pare c&#259; &icirc;ncepe s&#259; se &icirc;n&#259;spreasc&#259;. Astfel se creeaz&#259; o adev&#259;rat&#259; degringolad&#259; &icirc;n careul tr&#259;irilor &#351;i g&#226;ndurilor sale, o adev&#259;rat&#259; lupt&#259; &icirc;ntre tine &#351;i propriul t&#259;u Ego.</p> <p class="text_obisnuit">Dac&#259; vrei s&#259; &#351;tii care este nivelul de leadership la care te afli, dac&#259; vrei s&#259; &#351;tii &icirc;n ce categorie de lideri te &icirc;ncadrezi, atunci dezleag&#259; adev&#259;ratul &icirc;n&#355;eles din spatele acelor vagi derute care &icirc;i despart pe oameni de cele dou&#259; constante: &ldquo; <em>a fi</em> &rdquo; &#351;i &ldquo; <em>a nu fi</em> &rdquo;, f&#259;r&#259; s&#259; te pierzi tu &icirc;nsu&#355;i &icirc;ntr-o mare de &icirc;ndoial&#259;.</p> <p class="text_obisnuit"></p> <p class="text_obisnuit"><span class="text_obisnuit2">* Not&#259;:</span> &ldquo; <em><a href="http://www.imdb.com/title/tt0780516/" target="_new">Flawless (2007)</a>&quot;</em></p> </div> <p align="justify" class="text_obisnuit style3">&nbsp;</p> <!-- ARTICOL FINAL --> 这一定是输出: <!-- ARTICOL START --> <div align="justify"> <table width="552" border="0"> <tr> <td><h1 class="den_articol" itemprop="name">Zbuciumul sufletelor tenace (II)</h1></td> </tr> <tr> <td class="text_dreapta">On Aprilie 27, 2013, in <a href="https://neculaifantanaru.com/leadership-fx-intensive.html" title="Vezi toate articolele din Leadership FX-Intensive" class="external" rel="category tag">Leadership FX-Intensive</a>, by Neculai Fantanaru</td> </tr> </table> <p class="text_obisnuit"><span class="text_obisnuit2">Zbuciumul sufletelor tenace </span>eviden&#355;iaz&#259; tendin&#355;a de a transforma evolu&#355;ia &icirc;n involu&#355;ie, atunci c&#226;nd zbuciumul t&#259;u existen&#355;ial pare c&#259; &icirc;ncepe s&#259; se &icirc;n&#259;spreasc&#259;. Astfel se creeaz&#259; o adev&#259;rat&#259; degringolad&#259; &icirc;n careul tr&#259;irilor &#351;i g&#226;ndurilor sale, o adev&#259;rat&#259; lupt&#259; &icirc;ntre tine &#351;i propriul t&#259;u Ego.</p> <p class="text_obisnuit">Dac&#259; vrei s&#259; &#351;tii care este nivelul de leadership la care te afli, dac&#259; vrei s&#259; &#351;tii &icirc;n ce categorie de lideri te &icirc;ncadrezi, atunci dezleag&#259; adev&#259;ratul &icirc;n&#355;eles din spatele acelor vagi derute care &icirc;i despart pe oameni de cele dou&#259; constante: &ldquo; <em>a fi</em> &rdquo; &#351;i &ldquo; <em>a nu fi</em> &rdquo;, f&#259;r&#259; s&#259; te pierzi tu &icirc;nsu&#355;i &icirc;ntr-o mare de &icirc;ndoial&#259;.</p> <br><br> <p class="text_obisnuit"><span class="text_obisnuit2">* Not&#259;:</span> &ldquo; <em><a href="http://www.imdb.com/title/tt0780516/" target="_new">Flawless (2007)</a>&quot;</em></p> </div> <p align="justify" class="text_obisnuit style3">&nbsp;</p> <!-- ARTICOL FINAL --> 已解决: import os import regex as re def process_file_content(content): lines = content.split('\n') processed_lines = [] for line in lines: # Păstrăm spațiile inițiale ale fiecărei linii leading_spaces = re.match(r'^\s*', line).group() stripped_line = line.strip() # Păstrăm liniile cu <br><br> neschimbate if '<br><br>' in stripped_line: processed_lines.append(line) continue # Procesăm doar liniile care conțin taguri <p> if '<p class="text_obisnuit"' in stripped_line or '<p class="text_obisnuit2"' in stripped_line: # Înlocuim <br> la sfârșitul liniei cu </p> stripped_line = re.sub(r'(<p class="text_obisnuit2?">.*?)<br>\s*$', r'\1</p>', stripped_line) # Eliminăm spațiile inutile de la început stripped_line = re.sub(r'^\s*(<p class="text_obisnuit2?">)', r'\1', stripped_line) # Eliminăm </p> dublu stripped_line = re.sub(r'(<p class="text_obisnuit2?">.*?</p>)\s*</p>\s*', r'\1', stripped_line) # Adăugăm spațiile inițiale înapoi processed_lines.append(leading_spaces + stripped_line) content = '\n'.join(processed_lines) # Adăugăm spații între paragrafe # content = re.sub(r'(</p>)\s*(<p class="text_obisnuit">)', r'\1\n\n\2', content) # content = re.sub(r'(</p>)\s*(<p class="text_obisnuit2">)', r'\1\n\n\2', content) # Eliminăm liniile care conțin doar </p> content = re.sub(r'^\s*</p>\s*$', '', content, flags=re.MULTILINE) return content def process_html_files(directory): excluded_files = [ 'aforisme-si-pareri-bine-slefuite-III.html', 'aforisme-si-pareri-bine-slefuite-II.html', 'aforisme-si-pareri-bine-slefuite.html', 'cartea-cartilor.html', 'cartea-creatiei.html', 'cartea-de-nisip.html', 'ganduri-din-colturile-memoriei-III.html', 'imagini-din-muzeul-mitropolitan-iasi.html', 'ganduri-din-colturile-memoriei-II.html', 'ganduri-din-colturile-memoriei.html' ] for filename in os.listdir(directory): if filename.endswith('.html') and filename not in excluded_files: file_path = os.path.join(directory, filename) with open(file_path, 'r', encoding='utf-8') as file: content = file.read() processed_content = process_file_content(content) if content != processed_content: print(f"\nModificări în fișierul: {filename}") with open(file_path, 'w', encoding='utf-8') as file: file.write(processed_content) # Verificăm dacă mai există linii cu <br><br> după procesare if '<br><br>' in processed_content: print(f"\nLinia <br><br> păstrată în fișierul: {filename}") # Specificați directorul cu fișierele HTML directory = r'd:\55' process_html_files(directory)

回答 1 投票 0

在python中使用“方法”会消耗内存吗?

这两个程序消耗相同的内存和时间吗? def 转换(txt): a=int(txt) #变量a是否消耗额外内存? 返回一个 打印(转换(“4”)) 定义转换...

回答 1 投票 0

shebang在构建python rpm包时更改为/usr/libexec/platform-python

我正在尝试在 RHEL8.2 机器上从 python 应用程序构建 RPM。 脚本上的 shebangs 已正确设置为 #!/usr/bin/python3 然而由于某种原因,shebang 被更改为 #!/...

回答 2 投票 0

pip install pycrypto 错误(子进程退出并出现错误)

我正在安装 pycrypto 来编码 AES 128 CBC 算法。 但我得到了这个错误(如图)。我应该怎么办? C:\python\python_InternalLock>pip 安装 pycrypto 收集pycrypto 正在下载

回答 1 投票 0

在Python中创建可迭代的鼠标单击事件?

我正在尝试向用户显示图像,并要求用户单击矩形的 4 个点,一旦用户完成,他将按“c”并退出,我的脚本应返回用户的触摸点。 对于

回答 1 投票 0

AppCommand 获取无穷无尽的参数

原文: @client.tree.command() @app_commands.describe(members='您想要获取加入日期的成员;默认为使用该命令的用户') 异步 def 加入(交互:不和谐。

回答 1 投票 0

Python 中的 ID 分配器实现

在我最近的一次采访中,我被要求实现一个 ID 分配器。 问题是这样的: 实现一个 id 分配器类,可以分配 0~size-1 范围内的 id。有 2 种方法

回答 2 投票 0

在 FastAPI 中锁定资源 - Python

我想创建一个带有一个 /get 端点的 FastAPI 服务,它将返回 ML 模型推理结果。实现起来非常容易,但问题是我需要定期更新......

回答 1 投票 0

想知道为什么我在最后一个未缩进的打印函数中遇到语法错误

我正在按照课程的示例进行操作,最后一个打印函数给出了错误。使用Python3 x = 4 如果 x > 2: 打印('更大') 别的: 打印('较小') print('全部完成') 那么

回答 1 投票 0

如何序列化一个无法序列化的对象?

我知道这是一个常见问题,但我需要序列化一个表示无法序列化的对象。我正在使用外部库 pyarrow,并且我专门使用 ParquetDataset...

回答 1 投票 0

nodriver 无法将浏览器连接到 docker 容器

我想创建一个 docker 镜像,使用 python 代码抓取一些网站。 我使用 x11vnc 作为虚拟监视器,使用 firefox-esr 作为浏览器,使用 nodriver 作为 python scraper。 其实我可以开始一个包含...

回答 1 投票 0

Langchain sql代理未连接到databricks统一目录表

我正在尝试使用 Langchain sql 代理连接到 databricks unity 目录中的表。 我收到错误 InvalidRequestError: 未找到资源 这是我写的代码...

回答 1 投票 0

如何使用 kivy 在屏幕上添加文本?

这是代码,我想在主屏幕上添加文本,但在互联网上没有找到解决方案。 请帮忙)谢谢) 从 kivy.app 导入 App 从 kivy.core.window 导入窗口 来自 kivy.uix.button

回答 1 投票 0

如何通过单击将变量作为参数传递给方法?

我试图通过单击将变量传递给类中的方法。我不确定单击装饰器是否应该位于 init 之上或方法本身之上。 导入点击 导入操作系统 从日期时间开始我...

回答 1 投票 0

如何在 MacOS 上的 ipynb 文件上的 vscode 中安装 Folium?

我使用 Python 设置了 VS code,我也可以在 VS Code 中运行 Jupyter Notebook Kernel。现在,当我尝试 pip install folium 时,它给出了 ModuleNotFoundError。 我怎样才能

回答 2 投票 0

WorkerLost 的 Celery 重启逻辑

Python 3.8、Celery 4.4.4、Redis、Django 寻找一些指导来帮助完善我的 Celery 重启逻辑和设置。我有一系列复杂的过程,广泛使用和弦来

回答 1 投票 0

“not ==”和“!=”有什么区别?

我正在查看谷歌,但找不到答案。 如果 5 != 10: 打印('真') # 真的 如果不是 5 == 10: 打印('真') # 真的 两者似乎都做同样的事情。何时使用“not ==”和“

回答 3 投票 0

需要在运行时获取模式定义

我想获取在运行时传递给 get_schema 方法的表的 Python 模式定义。 类测试: def __init__(自身): self.schema_table1 = { "name": "str&q...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.