有没有办法在Android平板电脑上设置python 2.7.x + matplotlib,以便您可以运行简单的标准python代码?我希望能够运行我在Linux桌面上运行的相同脚本.这仅供我自己使用,我不需要将代码分发给其他任何人.
作为一个具体的例子,是否可以运行此脚本?
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.1);
y = np.sin(x)
plt.plot(x, y)
Run Code Online (Sandbox Code Playgroud) 我在python中工作,我需要转换它:
C:\ folderA\folderB到C:/ folderA/folderB
我有三种方法:
dir = s.replace('\\','/')
dir = os.path.normpath(s)
dir = os.path.normcase(s)
Run Code Online (Sandbox Code Playgroud)
在每种情况下,输出都是
C:folderAfolderB
我不确定我做错了什么,有什么建议吗?
我想绘制一个随机森林的决策树.所以,我创建以下代码:
clf = RandomForestClassifier(n_estimators=100)
import pydotplus
import six
from sklearn import tree
dotfile = six.StringIO()
i_tree = 0
for tree_in_forest in clf.estimators_:
if (i_tree <1):
tree.export_graphviz(tree_in_forest, out_file=dotfile)
pydotplus.graph_from_dot_data(dotfile.getvalue()).write_png('dtree'+ str(i_tree) +'.png')
i_tree = i_tree + 1
Run Code Online (Sandbox Code Playgroud)
但它没有产生任何东西..你知道如何从随机森林中绘制决策树吗?
谢谢,
是否有可能检测到骰子的上侧?如果从顶部看,这将是一项简单的任务,从多个角度来看,多个方面都是可见的.
您通常想知道您取得的分数.我很容易提取所有点,但如何只提取顶部的那些?在这种特殊情况下,顶部是最大的,但这可能并非总是如此.我正在寻找一些评估顶部正方形(或者在这种情况下是圆形,我可以提取的)与底部网格给出的透视相关的变形.
下面给出了具有一些结果的示例程序.
import numpy as np
import cv2
img = cv2.imread('dice.jpg')
# Colour range to be extracted
lower_blue = np.array([0,0,0])
upper_blue = np.array([24,24,24])
# Threshold the BGR image
dots = cv2.inRange(img, lower_blue, upper_blue)
# Colour range to be extracted
lower_blue = np.array([0,0,0])
upper_blue = np.array([226,122,154])
# Threshold the BGR image
upper_side_shape = cv2.inRange(img, lower_blue, upper_blue)
cv2.imshow('Upper side shape',upper_side_shape)
cv2.imshow('Dots',dots)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
让我从我的位置开始:
我用以下代码创建了上面的图像:
import matplotlib.pyplot as plt
import numpy as np
color_palette_name = 'gist_heat'
cmap = plt.cm.get_cmap(color_palette_name)
bgcolor = cmap(np.random.rand())
f = plt.figure(figsize=(12, 12), facecolor=bgcolor,)
ax = f.add_subplot(111)
ax.axis('off')
t = np.linspace(0, 2 * np.pi, 1000)
x = np.cos(t) + np.cos(6. * t) / 2.0 + np.sin(14. * t) / 3.0
y = np.sin(t) + np.sin(6. * t) / 2.0 + np.cos(14. * t) / 3.0
ax.plot(x, y, color=cmap(np.random.rand()))
ax.fill(x, y, color=cmap(np.random.rand()))
plt.tight_layout()
plt.savefig("../demo/tricky.png", facecolor=bgcolor, edgecolor=cmap(np.random.rand()), dpi=350)
Run Code Online (Sandbox Code Playgroud)
有没有办法填充当线与其他颜色交叉时创建的循环(或类似三角形的区域)?它不一定是matplotlib,它可能是scikit-image或其他一些库.
我在想一些伪代码:
for region …Run Code Online (Sandbox Code Playgroud) 在Sphinx中,我试图包含子目录中的图像.
虽然这适用于没有空格的路径,例如
.. image:: imagepath/image.png
Run Code Online (Sandbox Code Playgroud)
我没有成功的空间路径.
我试过的是:
.. image:: imagepath with space/image.png
.. image:: `imagepath with space/image.png`
.. image::`imagepath with space/image.png`
Run Code Online (Sandbox Code Playgroud)
我错过了什么?提前谢谢了.
我正在尝试生成一个我想使用点进行可视化的决策树。生成的点文件应转换为 png。
虽然我可以使用类似的东西在 dos 中完成最后一个转换步骤
export_graphviz(dectree, out_file="graph.dot")
Run Code Online (Sandbox Code Playgroud)
后跟一个 DOS 命令
dot -Tps graph.dot -o outfile.ps
Run Code Online (Sandbox Code Playgroud)
直接在 python dows 中执行所有这些操作不起作用并产生错误
AttributeError: 'list' object has no attribute 'write_png'
Run Code Online (Sandbox Code Playgroud)
这是我试过的程序代码:
from sklearn import tree
import pydot
import StringIO
# Define training and target set for the classifier
train = [[1,2,3],[2,5,1],[2,1,7]]
target = [10,20,30]
# Initialize Classifier. Random values are initialized with always the same random seed of value 0
# (allows reproducible results)
dectree = tree.DecisionTreeClassifier(random_state=0)
dectree.fit(train, target)
# Test classifier with other, …Run Code Online (Sandbox Code Playgroud) 我有一个在铣床上运行的 OPC 服务器,并且想要访问机器中当前可用的工具的名称。
我知道我正在寻找的变量的名称是
Sinumerik/Tool/Catalogue/toolIdent[1]
Sinumerik/Tool/Catalogue/toolIdent[2]
Run Code Online (Sandbox Code Playgroud)
等等。我可以在 uaexpert 等查看器中看到相应的值。
虽然我可以访问
Sinumerik/Tool/Catalogue/toolIdent
Run Code Online (Sandbox Code Playgroud)
通过依次从根向下走,使用诸如
children=Position.get_children()
for child in children:
Position=child
Run Code Online (Sandbox Code Playgroud)
这种方法不起作用,toolIdent[1]因为这不是一个孩子。
如何访问数组的这些值?
编辑:另外一个备注:工具的名称存储为节点的值,而不是变量。我遇到过 get_array_dimensions 函数,但这似乎只适用于变量。
EDIT2:我附上了我正在寻找的阵列的UAEExpert视图的屏幕截图。数组的前三个值是 3D_BLUM、12 和 98。

EDIT3:在UAEExpert中,我可以toolIdent[2]通过使用“添加自定义节点”命令,选择一个字符串节点并提供“/Tool/Catalogue/toolIdent[2]”作为NodeId的参数来查看内容。我试图找出如何使用 python(最好是 opcua 库,并且我正在为在 Python 中实现这个目标提供赏金。
我正在尝试使用标签和 tag_configure 为 tkinter 树视图对象中的行设置颜色。
之前有过关于着色行的讨论,该讨论相当陈旧,似乎不再适用于 Python3:
我添加了一个简短的例子。对我来说,所有行都保持白色,与我是在插入命令之前还是之后执行 tag_configure 无关。
import tkinter as tk
import tkinter.ttk as ttk
root = tk.Tk()
w = tk.Label(root, text="Hello, world!")
w.pack()
lb= ttk.Treeview(root, columns=['number', 'text'], show="headings", height =20)
lb.tag_configure('gr', background='green')
lb.column("number", anchor="center", width=10)
lb.insert('',tk.END, values = ["1","testtext1"], tags=('gr',))
lb.insert('',tk.END, values = ["2","testtext2"])
lb.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
发生了什么变化或我错过了什么?
编辑: 似乎这是一个具有解决方法的新已知错误,但我无法正常工作:https : //core.tcl-lang.org/tk/tktview?name=509cafafae
EDIT2: 我现在使用 tk 版本 8.6.10(构建 hfa6e2cd_0,通道 conda-forge)和 python 3.7.3。任何人都可以用这个版本的 python 和 tk 重现这个错误吗?
我正在尝试使用滑块交互式更改图像的内容(例如,应用具有不同内核大小的中值运算)。
如果仅显示一张结果图像(参见注释行),这很好用,但使用子图功能时会遇到麻烦,因为该图像将不会更新。
我想念什么?
%matplotlib inline
from ipywidgets import interact, widgets
import matplotlib.pyplot as plt
import warnings
from skimage.morphology import disk
from skimage.filters import rank
from skimage.color import rgb2gray
import skimage.data
def f(Median_Size):
selem = disk(int(Median_Size))
with warnings.catch_warnings():
warnings.simplefilter("ignore")
img_median = rank.median(img_gray, selem=selem)
ax_neu.imshow(img_median, cmap="gray")
fig.canvas.draw()
#plt.imshow(img_median, cmap="gray") #This would work
#plt.show()
image = skimage.data.camera() #plt.imread("Test.png")
img_gray = rgb2gray(image)
fig = plt.figure(figsize=(6, 4))
ax_orig = fig.add_subplot(121)
ax_neu = fig.add_subplot(122)
ax_orig.imshow(img_gray, cmap="gray")
ax_neu.imshow(img_gray, cmap="gray")
interact(f, Median_Size=widgets.IntSlider(min=1,max=21,step=2,value=1))
Run Code Online (Sandbox Code Playgroud) 我想使用 smtplib 使用 cron 作业每天发送一次状态邮件。
邮件发送效果很好,但是发送时间和日期似乎总是我阅读邮件时的时间和日期,而不是发送邮件时的时间和日期。这可能是 6 小时后。
我还没有找到有关向 smtplib 提供发送时间以及消息数据的提示。我是否遗漏了任何东西,还是我的邮件服务器配置有问题?但是,其他通过 Thunderbird 上交的邮件在此帐户下不会显示此效果。
我的python程序(删除了登录数据)如下所示:
import smtplib
sender = 'abc@def.com'
receivers = ['z@def.com']
message = """From: Sender <abc@def.com>
To: Receiver<z@def.com>
Subject: Testmail
Hello World.
"""
try:
smtpObj = smtplib.SMTP('mailprovider.mailprovider.com')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"
Run Code Online (Sandbox Code Playgroud)
[编辑]
按照建议使用电子邮件包进行编码,但我的收件箱中显示的时间仍然是阅读时间而不是发送时间。
import smtplib
from email.mime.text import MIMEText
sender = ..
receiver = ..
message = "Hello World"
msg = MIMEText(message)
msg['Subject'] = 'Testmessage'
msg['From'] = sender …Run Code Online (Sandbox Code Playgroud) 我是编码和Python的新手,所以如果这是一个愚蠢的问题我会道歉.我想要一个遍历所有19,000个搜索结果页面的脚本,并为每个网址抓取所有网址.我已经完成了所有的报废工作,但无法弄清楚如何处理页面使用AJAX进行分页的事实.通常我只是使用url创建一个循环来捕获每个搜索结果,但这是不可能的.这是页面:http://www.heritage.org/research/all-research.aspx?cars&category = report
这是我到目前为止的脚本:
with io.open('heritageURLs.txt', 'a', encoding='utf8') as logfile:
page = urllib2.urlopen("http://www.heritage.org/research/all-research.aspx?nomobile&categories=report")
soup = BeautifulSoup(page)
snippet = soup.find_all('a', attrs={'item-title'})
for a in snippet:
logfile.write ("http://www.heritage.org" + a.get('href') + "\n")
print "Done collecting urls"
Run Code Online (Sandbox Code Playgroud)
显然,它会刮掉结果的第一页,仅此而已.
我已经看了几个相关的问题,但似乎没有人使用Python,或者至少不是以我能理解的方式.预先感谢您的帮助.