小编ZF0*_*007的帖子

NameError:名称“By”未定义(selenium)

我在 python 代码中收到此错误:

Traceback (most recent call last):
File "/Users/user/Batch-image-compression/compress_pic.py", line 54, in <module>

**input_box = driver.find_element(By.XPATH,'//input[@class="_2zg9i"]')**

NameError: name 'By' is not defined
Run Code Online (Sandbox Code Playgroud)

在我的脚本中我有:

from selenium.webdriver.common import By
Run Code Online (Sandbox Code Playgroud)

显示错误:

来自:无法读取/var/mail/selenium.webdriver.common

python-3.x

8
推荐指数
1
解决办法
2万
查看次数

如何在Python 3和PyQt5中实现多核处理?

背景:我正在尝试在 python 3.4 应用程序中实现多核处理PyQT5

在我的框架应用程序中numpy.ndarrays,将其想象为一个[n,m,t]数组。我需要处理每个[n,m,:]数组,使用多核会线性加速我的过程。

我尝试过多重处理,并使用部分示例脚本编写了一个简单的脚本,并给了我以下想法:

简单无 GUI 代码

import multiprocessing as mp
import numpy

aa = numpy.random.rand(4,2,3)

def random_function(x):
    return x,x**3

if __name__ == '__main__':
    pool = mp.Pool(processes=4)

    #with apply_asynch

    #results = [pool.apply_async(cube, args=(aa[:,:,x],)) for x in range(0,aa.shape[2])]
    #output = [p.get() for p in results]
    #test_va = numpy.asarray( output)


    #with apply

    results = [pool.apply(random_function, args=(aa[:,:,x],)) for x in range(0,aa.shape[2])]
    test_va = numpy.asarray( results)
Run Code Online (Sandbox Code Playgroud)

这有效并且可以满足我需要它做的事情。

问题:现在,当我实现这个时,PyQT5 …

multicore image-processing python-3.x pyqt5 python-multiprocessing

6
推荐指数
1
解决办法
8544
查看次数

从Siemens S7 1500 PLC上的Web服务器页面读取JSON结构

我一直在使用HTML和javascript创建图形网页来显示来自Siemens S7 1500 PLC的数据.我一直在使用$ .getJSON命令成功读取PLC中的值,当请求信息的网页由PLC Web服务器提供时,并且与具有JSON结构和所有所需文件的文件位于同一目录中值.

我有一台PC通过以太网连接到我的PLC,并希望在PC上本地运行一个网页,并从PLC网络服务器读取页面提供的值.

当要读取的数据位于Web服务器上的同一目录中时,我当前用于读取值的代码如下所示:

<script type="text/javascript">
$(document).ready(function(){

    $.ajaxSetup({ cache: false });

    setInterval(function() {
        $.getJSON("inputs.htm", function(data){

            // Variable Declaration
            engineSpeed =                       data.engineSpeed;
            engineFuelLevelScaled =             data.engineFuelLevelScaled;
            powerEndDischargePressurePSI =      data.powerEndDischargePressurePSI;
            powerEndDischargeFlowRateBBLM =     data.powerEndDischargeFlowRateBBLM;
            powerEndSuctionPressurePSI =        data.powerEndSuctionPressurePSI;
        });

    },1000);
});

</script>
Run Code Online (Sandbox Code Playgroud)

"inputs.htm"文件很简单:

{
"engineSpeed" : ":="WebData".engineSpeed:",
"engineFuelLevelScaled" : ":="WebData".engineFuelLevelScaled:",
"powerEndDischargePressurePSI" : ":="WebData".powerEndDischargePressurePSI:",
"powerEndDischargeFlowRateBBLM" : ":="WebData".powerEndDischargeFlowRateBBLM:",
"powerEndSuctionPressurePSI" : ":="WebData".powerEndSuctionPressurePSI:"
}
Run Code Online (Sandbox Code Playgroud)

其中"WebData"是使用PLC上的值更新的数据块.

我很高兴这是如何工作的,但当我尝试在本地运行一个页面来查看"inputs.htm"页面时,它没有用.

我的PLC的IP地址为172.17.2.11,我已将$ .getJSON更改为:

$.getJSON("http://172.17.2.11/awp/GeminiOnline/inputs.htm", function(data){
Run Code Online (Sandbox Code Playgroud)

$.getJSON("172.17.2.11/awp/GeminiOnline/inputs.htm", function(data){
Run Code Online (Sandbox Code Playgroud)

虽然都没有奏效.我知道这些是正确的网址,因为我可以去其中任何一个并阅读我想要访问的值.

我已经在我的PLC的Web服务器上设置了权限,允许所有用户完全访问,因此不再需要登录.我想知道是否有一个我缺少的步骤或$ .getJSON结构的一些限制阻止我这样读.

任何输入将不胜感激.如果您有任何其他方法可以在PC上本地托管的页面中读取当前的PLC值,这也是有用的.

提前致谢.

html javascript json plc siemens

6
推荐指数
1
解决办法
5067
查看次数

使用Pyinstaller打包 - PyQt5 setStyle被忽略

如上所述实际上,我有一个类似的问题在这里更新蟒蛇,pyistaller,pyqt5,pyqt5工具后.之前,我得到了想要的"Windows Vista风格"app.setStyle('windowsvista'),当我运行编译独立的可执行文件.

现在,我获得了Windows "经典风格".如果我在PyCharm中启动应用程序,它将使用所需的"Windows Vista风格".

目前安装在Win7 64bit上:

Python:3.6.4

PyInstaller:3.3.1

PyQt5:5.10

pyqt5-tools:5.9.0.1.2(更新到5.9.1.1不起作用)

有谁知道为什么PyInstaller忽略了这种风格?

pyinstaller pyqt5

6
推荐指数
1
解决办法
1197
查看次数

如何在python中使用Spinnaker从点灰色相机获取彩色图像?

我正在尝试从 flea3 相机(代码为“FL3-U3-32S2C-CS”,显示其为彩色相机)获取彩色图像(在我的情况下 rgb 或 bgr 没有区别),但我的代码生成灰度照片.. . 下面的代码片段有什么问题?任何的想法?

    #  Begin acquiring images
    cam.BeginAcquisition()

    #  Retrieve next image and convert it
    image_result = cam.GetNextImage()
    img_converted = image_result.Convert(PySpin.PixelFormat_RGB8, PySpin.HQ_LINEAR)

    #  Convert the Image object to RGB array
    width = image_result.GetWidth()
    height = image_result.GetHeight()
    rgb_array = img_converted.GetData()
    rgb_array = rgb_array.reshape(height, width, 3)
Run Code Online (Sandbox Code Playgroud)

python camera pyspin

6
推荐指数
2
解决办法
3596
查看次数

图中的重复节点名称:'conv2d_0/kernel/Adam'

我刚刚通过该代码保存了一个模型:

def train():    
with tf.Session() as sess:
    saver = tf.train.Saver(max_to_keep = 2)
    Loss = myYoloLoss([Scale1,Scale2,Scale3],[Y1, Y2 ,Y3])
    opt = tf.train.AdamOptimizer(2e-4).minimize(Loss)
    init = tf.global_variables_initializer()
    sess.run(init)
    imageNum = 0
    Num = 0
    while(1):
        #get batchInput
        batchImg,batchScale1,batchScale2,batchScale3 = getBatchImage(batchSize = BATCHSIZE)
        for epoch in range(75):
            _ , epochloss = sess.run([opt,Loss],feed_dict={X:batchImg,Y1:batchScale1,Y2:batchScale2,Y3:batchScale3})
            if(epoch%15 == 0):
                print(epochloss)
        imageNum = imageNum + BATCHSIZE
        Num = Num + 1
        if(Num%4 == 0):
            saver.save(sess,MODELPATH + 'MyModle__' + str(imageNum))            
        if(os.path.exists(STOPFLAGPATH)):
            saver.save(sess,MODELPATH + 'MyModle__Stop_' + str(imageNum))   
            print('checked stopfile,stop')
            break
return 0 …
Run Code Online (Sandbox Code Playgroud)

python tensorflow pre-trained-model

6
推荐指数
1
解决办法
3603
查看次数

为什么运行 django 的会话清理命令会杀死我的机器资源?

我有一个一年的生产站点,配置了django.contrib.sessions.backends.cached_db后端和 MySQL 数据库后端。我选择 cached_db 的原因是安全性和读取性能的结合。

问题是,负责删除所有过期会话的清理命令从未执行过,导致会话表数据长度为 2.3GB,行数为 600 万,索引长度为 500Mb。

当我尝试运行./manage.py cleanup(在 Django 1.3 中)命令或./manage.py clearsessions(Django 的 1.5 通讯员)时,该过程永远不会结束(或者我的耐心没有完成 3 小时)。

Django 使用的代码是:

Session.objects.filter(expire_date__lt=timezone.now()).delete()
Run Code Online (Sandbox Code Playgroud)

在第一印象中,我认为这是正常的,因为该表有 6M 行,但是,在检查 System 的监视器后,我发现所有内存和 cpu 都被 python 进程使用,而不是 mysqld,填满了我机器的资源。我认为这个命令代码有一些可怕的错误。似乎python在删除每一个之前遍历所有已建立的过期会话行,一一。在这种情况下,重构为原始DELETE FROM命令的代码可以解决我的问题并帮助 Django 社区,对吗?但是,如果是这种情况,Queryset 删除命令的行为很奇怪,我认为没有优化。我对吗?

python django session

5
推荐指数
0
解决办法
3236
查看次数

python中的TMX(翻译记忆库eXchange)文件

是否有用于处理python中的TMX(翻译记忆库eXchange)文件的模块,如果没有的话,还有另一种方法吗?

就目前而言,我有一个2gb的巨大文件,上面有法英字幕。是否有可能处理这样的文件,还是我必须将其分解?

tmx python-3.x pytmx

5
推荐指数
2
解决办法
2015
查看次数

将float转换为hh:mm格式

我想打印一个以hh:mm格式作为字符串进行数学运算后得到的浮点值.目前我有:(在这种情况下的时间等于像9.888888888888886或09:50(我想要的))

    time = str(time)
    time = time.split(".")
    time[1] = float(time[1])
    time[1] *= 0.6
    time[1] = str(time[1])
Run Code Online (Sandbox Code Playgroud)

当我打印我使用

    str(time[0]) + ":" + time[1][:2]
Run Code Online (Sandbox Code Playgroud)

有没有什么办法可以持续达到这个效 使用更高级的输入,我的上述代码无法正常工作,并输出错误的时间.

python time date python-3.x

5
推荐指数
3
解决办法
2万
查看次数

Python:ax.text 未显示在保存的 PDF 中

我正在 ipython 笔记本中创建一个带有一些文本的图形(例如:一边有一些文本的 sin 曲线)。绘图和文本显示在我的笔记本中,但是当我保存图形时,我只能看到绘图而不是文本。我用这个示例代码重现了这个问题:

import numpy as np
import matplotlib.pyplot as plt

fig,ax = plt.subplots(1)
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
ax.plot(x, y)
ax.text(8,0.9,'Some Text Here',multialignment='left', linespacing=2.)
plt.savefig('sin.pdf')
Run Code Online (Sandbox Code Playgroud)

如何查看保存的pdf中的文本?

python matplotlib

5
推荐指数
1
解决办法
2421
查看次数