我有以下XML,我想用Python解析ElementTree:
<rdf:RDF xml:base="http://dbpedia.org/ontology/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns="http://dbpedia.org/ontology/">
<owl:Class rdf:about="http://dbpedia.org/ontology/BasketballLeague">
<rdfs:label xml:lang="en">basketball league</rdfs:label>
<rdfs:comment xml:lang="en">
a group of sports teams that compete against each other
in Basketball
</rdfs:comment>
</owl:Class>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)
我想找到所有owl:Class标签,然后提取其中所有rdfs:label实例的值.我使用以下代码:
tree = ET.parse("filename")
root = tree.getroot()
root.findall('owl:Class')
Run Code Online (Sandbox Code Playgroud)
由于命名空间,我收到以下错误.
SyntaxError: prefix 'owl' not found in prefix map
Run Code Online (Sandbox Code Playgroud)
我尝试在http://effbot.org/zone/element-namespaces.htm上阅读该文档,但由于上述XML具有多个嵌套命名空间,因此我仍然无法正常工作.
请告诉我如何更改代码以查找所有owl:Class标签.
我使用Python来解析日志文件中的条目,并使用Tkinter显示条目内容,到目前为止它非常好.输出是标签小部件的网格,但有时会有比屏幕上显示的行多的行.我想添加一个滚动条,看起来应该很容易,但我无法弄明白.
该文档暗示只有List,Textbox,Canvas和Entry小部件支持滚动条界面.这些似乎都不适合显示小部件网格.可以在Canvas小部件中放置任意小部件,但您似乎必须使用绝对坐标,因此我无法使用网格布局管理器?
我已经尝试将小部件网格放入框架,但这似乎不支持滚动条界面,所以这不起作用:
mainframe = Frame(root, yscrollcommand=scrollbar.set)
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议绕过这个限制吗?我不想在PyQt中重写并增加我的可执行图像大小,只需要添加一个滚动条!
当我尝试使用下面的代码将丑陋的红色"TK"左上角的窗口图标更改为我自己的图标时,Python发出错误:
from tkinter import *
root = Tk()
#some buttons, widgets, a lot of stuff
root.iconbitmap('favicon.ico')
Run Code Online (Sandbox Code Playgroud)
这应该将图标设置为'favicon.ico'(根据网络上的很多论坛帖子).但不幸的是,所有这一行都抛出以下错误:
Traceback (most recent call last):
File "d:\ladvclient\mainapp.py", line 85, in <module>
root.iconbitmap(bitmap='favicon.ico')
File "C:\Python33\lib\tkinter\__init__.py", line 1637, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "favicon.ico" not defined
Run Code Online (Sandbox Code Playgroud)
我已经做了什么:
.png或.bmp没有工作而对于第三点,我最喜欢的关于Tkinter的网站effbot.org告诉我,Windows忽略了这个iconbitmap功能.但这并不能解释为什么会抛出错误!
有一些"hackish"方法可以避免这个问题,但没有一个是为Python 3.x编写的.
所以我的最后一个问题是:有没有办法使用Python 3.x和Tkinter获取自定义图标?
另外,不要告诉我应该使用另一个GUI库.我希望我的程序能够在每个平台上运行.我也想要一个编码版本,而不是一个py2exe或sth解决方案.
我是一名编程初学者,并且学习如何在Python中使用google API.
我有:
但是,即使我为此运行了最简单的代码,我也有错误,表示找不到凭证varialbe.
我不知道现在该怎么办.请帮忙.
这是我的代码:
from google.cloud import language
def sentiment_text(text):
client = language.LanguageServiceClient()
sentiment = client.analyze_sentiment(text).document_sentiment
print('Score: {}'.format(sentiment.score))
print('Magnitude: {}'.format(sentiment.magnitude))
sampletxt='Python is great'
sentiment_text(sampletxt)
Run Code Online (Sandbox Code Playgroud)
我有错误:
回溯(最近一次调用最后一次):文件"/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py",第21行,sentiment_text(sampletxt)
文件"/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple.py",第5行,在sentiment_text client = language.LanguageServiceClient()中
在init ssl_credentials = ssl_credentials中输入文件"/usr/local/lib/python3.6/site-packages/google/cloud/gapic/language/v1/language_service_client.py",第147行
在create_stub中的文件"/usr/local/lib/python3.6/site-packages/google/gax/grpc.py",第106行
Run Code Online (Sandbox Code Playgroud)credentials = _grpc_google_auth.get_default_credentials(scopes) File"/usr/local/lib/python3.6/site-packages/google/gax/_grpc_google_auth.py",第62行,在get_default_credentials凭据中,_ = google.auth.default(scopes = scopes)
文件"/usr/local/lib/python3.6/site-packages/google/auth/_default.py",第282行,默认情况下
Run Code Online (Sandbox Code Playgroud)raise exceptions.DefaultCredentialsError(_HELP_MESSAGE) google.auth.exceptions.DefaultCredentialsError: Could not自动确定凭据.请设置GOOGLE_APPLICATION_CREDENTIALS或明确创建凭据并重新运行该应用程序.有关详细信息,请参阅 https://developers.google.com/accounts/docs/application-default-credentials.
import os
print(os.environ['GOOGLE_APPLICATION_CREDENTIALS'])
Run Code Online (Sandbox Code Playgroud)
输出回溯(最近一次调用最后一次):
Run Code Online (Sandbox Code Playgroud)File "/Users/YELI1/Downloads/googlecloud/sentimentanalysis/simple??.py", line 2, in <module> print(os.environ['GOOGLE_APPLICATION_CREDENTIALS']) File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework??/Versions/3.6/lib/py??thon3.6/os.py", line 669, …
我想知道是否有人有任何编程与.pdf文件工作的经验.我有一个.pdf文件,我需要将每个页面裁剪到一定的大小.
快速搜索谷歌后,我找到了python的pyPdf库,但我的实验失败了.当我更改页面对象上的cropBox和trimBox属性时,结果不是我预期的,并且看起来非常随机.
有没有人有这方面的经验?代码示例将非常受欢迎,最好是在python中.
如何为treeview小部件设置样式,以便备用行具有不同的背景颜色,例如,行1,3,5具有白色背景,行2,4,6具有浅蓝灰色背景?
我也想设置gridlines.
我希望使用openpyxl这种方式打印python中特定列的所有数据(所有行);
from openpyxl import load_workbook
workbook = load_workbook('----------/dataset.xlsx')
sheet = workbook.active
for i in sheet:
print(sheet.cell(row=i, column=2).value)
Run Code Online (Sandbox Code Playgroud)
但它给出了
如果row <1或列<1:TypeError:unorderable类型:tuple()<int()
因为我在迭代row=i.如果我使用sheet.cell(row=4, column=2).value它打印单元格的值.但是,我如何迭代所有文档?
编辑1
在一些研究中,发现可以使用工作表名称获取数据.该Sheet 1中存在的.xlsx文件,但它的数据是不是打印.这段代码有什么问题吗?
workbook = load_workbook('---------------/dataset.xlsx')
print(workbook.get_sheet_names())
worksheet =workbook.get_sheet_by_name('Sheet1')
c=2
for i in worksheet:
d = worksheet.cell(row=c, column=2)
if(d.value is None):
return
else:
print(d.value)
c=c+1
Run Code Online (Sandbox Code Playgroud) 我试图遵循这个问题的答案,试图复制到剪贴板,但是答案中提供的所有解决方案似乎都让我失败。在 macOS 上,我已成功使用 pyperclip 和 subprocess.run 复制到剪贴板,如链接文章中所述,但是在 centOS 上都不起作用。我也尝试过在 macOS 上使用 Tkinter,但是当我运行以下简单代码时:
from tkinter import Tk
r = Tk()
Run Code Online (Sandbox Code Playgroud)
我收到以下弃用警告:
DEPRECATION WARNING: The system version of Tk is deprecated and may be removed in a future release. Please don't rely on it. Set TK_SILENCE_DEPRECATION=1 to suppress this warning.
Run Code Online (Sandbox Code Playgroud)
我真的不想用已弃用的依赖项构建我的应用程序,但是看到 centOS 不支持 pyperclip 或 subprocess.run 我觉得我没有其他选择。
具体来说,我想知道是否有一个好的解决方案来解决我的问题,也就是说,我想复制到centOS上的剪贴板,理想情况下,我想要一个可以在“大多数”平台上工作的解决方案。请注意,我使用的是 python3。谢谢
我不太明白text.search方法是如何工作的.例如,有一句话:Today a red car appeared in the park.我需要找到a red car序列并突出显示它.它被发现,但这是我突出显示的样子:

我正在使用self.text.search(word, start, stopindex=END)这句话.看起来搜索方法与python的regexp搜索完全相同.添加exact=True没有改变任何东西,因为它是默认行为,这就是为什么我不明白究竟是什么究竟真实的意思.如何a red car正确突出显示?
我的GUI中有一个OptionMenu,由列表填充.每次用户运行某个进程时,列表都会更新以反映这一点.有没有办法根据列表更新OptionMenu?我self.plotWindow.update()按照这个问题尝试过,但无济于事.但是,关闭并重新打开窗口会像您期望的那样刷新OptionMenu.相关代码:
if self.figNum.get() == 'New Figure...':
if self.figList[-1] == 'New Figure...':
self.figList.append(1)
else:
self.figList.append(self.figList[-1]+1)
self.plotWindow.update() #tk.Tk() window
self.i = self.figList[-1]
else:
self.i = self.figNum.get()
Run Code Online (Sandbox Code Playgroud) python ×9
tkinter ×6
python-3.x ×3
centos ×1
elementtree ×1
google-api ×1
openpyxl ×1
pdf ×1
pypdf ×1
search ×1
tkinter.text ×1
treeview ×1
ttk ×1
windows-7 ×1
xml ×1
xml-parsing ×1