小编The*_*nse的帖子

python中的弱引用

我一直试图理解python弱引用列表/字典的工作方式,并且也在阅读它的文档,但是我似乎无法弄清楚它们是如何工作的以及它们可以用于什么.谁能给我一个基本的例子来说明他们做了什么/解释他们是如何工作的?非常感谢.

(编辑)使用托马斯的代码,当我用[1,2,3]它代替obj 时抛出:

Traceback (most recent call last):
File "C:/Users/nonya/Desktop/test.py", line 9, in <module>
r = weakref.ref(obj)
TypeError: cannot create weak reference to 'list' object
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

Python - 在Plotly图中将背景颜色设置为透明

我的python代码创建了一个情节条形图,但背景是白色的,我想将其改为透明色是可行的

我的代码:

import plotly.plotly as py
from plotly.graph_objs import *
py.sign_in('username', 'api_key')
data = Data([
Bar(
    x=['Sivaranjani S', 'Vijayalakshmi C', 'Rajeshwari S', 'Shanthi Priscilla', 'Pandiyaraj G', 'Kamatchi S', 'MohanaPriya', 'Madhumitha G', 'Franklin Alphones Raj J', 'Akfaris Almaas', 'Biswajit Champati', 'Priya R', 'Rekha Rajasekaran', 'Sarath Kumar B', 'Jegan L', 'Karthick A', 'Mahalakshmi S', 'Ragunathan V', 'Anu S', 'Ramkumar KS', 'Uthra R'],
    y=[1640, 1394, 1390, 1313, 2166, 1521, 1078, 1543, 780, 1202, 1505, 2028, 2032, 1769, 1238, 1491, 1477, 1329, 2038, 1339, …
Run Code Online (Sandbox Code Playgroud)

python plotly

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

气流没有正确安排Python

码:

Python版本2.7.x和气流版本1.5.1

我的dag脚本就是这个

from airflow import DAG
from airflow.operators import BashOperator
from datetime import datetime, timedelta


default_args = {
'owner': 'xyz',
'depends_on_past': False,
'start_date': datetime(2015,10,13),
'email': ['xyz@email.in'],
'schedule_interval':timedelta(minutes=5),
'email_on_failure': True,
'email_on_retry': True,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG('testing', default_args=default_args)
run_this_first = BashOperator(task_id='Start1',bash_command='date', dag=dag)
for i in range(5):
    t = BashOperator(task_id="Orders1"+str(i), bash_command='sleep 5',dag=dag)
    t.set_upstream(run_this_first)
Run Code Online (Sandbox Code Playgroud)

从那你可以看出我正在创建一个包含6个任务的DAG,第一个任务(Start1)首先启动,之后所有其他五个任务开始

目前我在DAG开始之间给出了5分钟的时间延迟

它已经完美地运行了第一种类型的所有六个任务,但是在五分钟后DAG没有重新启动

已经超过1小时DAG没有重新启动我真的不知道我错了.

如果有人可以指出我出了什么问题,那将是非常好的.我尝试用airflow testing clear同样的事情清理然后发生.它运行第一个实例然后就站在那里.

命令行显示的唯一内容是 Getting all instance for DAG testing

当我更改schedule_interval的位置时,它只运行任何调度间隔parallel.That在5分钟内完成300或更多任务实例.没有5分钟的计划间隔

代码2:

from airflow import DAG
from airflow.operators import …
Run Code Online (Sandbox Code Playgroud)

python airflow

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

SSL坏握手错误10054"WSAECONNRESET"

笔记:

versions

Python 2.7.11 and my requests version is '2.10.0'
'OpenSSL 1.0.2d 9 Jul 2015'
Please read the below comment by Martijn Pieters before reproducing 
Run Code Online (Sandbox Code Playgroud)

最初我尝试https://www.neco.navy.mil/necoattach/N6945016R0626_2016-06-20__INFO_NAS_Pensacola_Base_Access.docx使用以下代码获取pdf

代码1:

>>> import requests
>>> requests.get("https://www.neco.navy.mil/necoattach/N6945016R0626_2016-06-20__INFO_NAS_Pensacola_Base_Access.docx",verify=False)
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\mob140003207\AppData\Local\Enthought\Canopy\User\lib\site-packa
ges\requests\api.py", line 67, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\mob140003207\AppData\Local\Enthought\Canopy\User\lib\site-packa
ges\requests\api.py", line 53, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\mob140003207\AppData\Local\Enthought\Canopy\User\lib\site-packa
ges\requests\sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs) …
Run Code Online (Sandbox Code Playgroud)

python ssl python-2.7 python-requests

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

文本[多级]具有多个输出的分类

问题陈述:

将文本文档分类到它所属的类别,并最多分类该类别的两个级别.

示例训练集:

Description Category    Level1  Level2
The gun shooting that happened in Vegas killed two  Crime | High    Crime   High
Donald Trump elected as President of America    Politics | High Politics    High
Rian won in football qualifier  Sports | Low    Sports  Low
Brazil won in football final    Sports | High   Sports  High
Run Code Online (Sandbox Code Playgroud)

初步尝试:

我试图创建一个分类器模型,尝试使用随机森林方法对类别进行分类,它总体上给了我90%.

代码1:

import pandas as pd
#import numpy as np

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import BernoulliNB
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split …
Run Code Online (Sandbox Code Playgroud)

python classification python-2.7 scikit-learn

11
推荐指数
1
解决办法
740
查看次数

带有Spring + REST Web服务的@RequestBody或@ModelAttribute

我正在使用Spring 3.1为iPhone和Android应用程序创建Restful网站和Web服务.在我的应用程序中,我使用Spring Message Convertors(org.springframework.http.converter.json.MappingJacksonHttpMessageConverter)将JSON转换为Java对象,反之亦然.

我的目标是JSP页面,Iphone/Andois app应该只使用单个控制器方法(相同的URL).

我使用Spring表单标签进行从JSP到控制器的对象绑定,@ModelAttribute如下所示.

@RequestMapping(value = "reset-password", method = RequestMethod.POST)
public ModelAndView resetPassword(@ModelAttributeForgot forgotPassword,
     HttpServletRequest request) { 

     System.out.println("data recived=="+forgotPassword.getNewPassword());
 }
Run Code Online (Sandbox Code Playgroud)

但是,如果数据是从iPhone/Android应用程序发布的,那么同样的情况就不适用了,结果是:

recived = = null;

所以为了克服这个问题,我@RequestBody在地方使用了注释@ModelAttribute.

所以我的控制器如下所示:

@RequestMapping(value = "reset-password", method = RequestMethod.POST)
public ModelAndView resetPassword(@RequestBody Forgot forgotPassword,
    HttpServletRequest request) { 

    System.out.println("data recived=="+forgotPassword.getNewPassword());
}
Run Code Online (Sandbox Code Playgroud)

它的工作原理,我得到的结果是:

收到的数据== somedata;

但是@RequestBody然后在JSP页面上不能使用spring表单,并且数据不会转换为对象而且我得到了null值.

  1. 我不能使用@RequestBody注释以JSP形式的弹簧形式标签以JSON的形式发布数据吗?
  2. 有没有什么方法可以使用我可以通过使用单个控制器方法(@ModelAttribute或@RequestBody)从我的JSP表单以及从我的手机App发布数据.

编辑:

在写String到位Bean类的,我能够获得纯文本格式的内容,如下图所示:

@RequestMapping(value = "reset-password", method = RequestMethod.POST)
public …
Run Code Online (Sandbox Code Playgroud)

rest spring spring-mvc

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

Chart.js设置条形图的最大条形尺寸

我想限制条形图的最大宽度

我的代码:

    <script>
        // bar chart data
        var a=[];
            a.push('kalai 2015-04-11');
        var b=[];
            b.push('300');
        var barData = {
            labels : a,

            datasets : [
                {
                    fillColor : "#48A497",
                    strokeColor : "#48A4D1",
                    data : b

                }
            ]
        }
        // get bar chart canvas
        var income = document.getElementById("income").getContext("2d");
        // draw bar chart
        new Chart(income).Bar(barData, {scaleGridLineWidth : 1});
        <!--new Chart(income).Bar(barData);-->
    </script>   
Run Code Online (Sandbox Code Playgroud)

这样做的方法是什么

单个值看起来像这样 单个元素

条形图的大小随着条形数量的增加而减小如何设置最大条形尺寸以使其更易于查看

html javascript css chart.js

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

使用输入流阅读器读取时缺少行

我有一个样本EXE打印在输出下面.

EXE输出:

1
2
3
4
5
Failed
Run Code Online (Sandbox Code Playgroud)

java中的等效代码:

for (int i = 1; i <= 5; i++){
     System.out.println(i);
}
System.out.println("Failed");
Run Code Online (Sandbox Code Playgroud)

当尝试使用java代码启动EXE并读取输出时,一些数据会丢失.

找到用于启动资产的java.

Java代码:

String[] commands = new String[] {"sample.exe" };
p = Runtime.getRuntime().exec(commands);
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
while  ((line = br.readLine()) != null) {
    line = br.readLine()
    System.out.println(line);
    if(line.toLowerCase().contains("failed")){
           #Apply business Rule.
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

1
3
5
Run Code Online (Sandbox Code Playgroud)

从上面的输出中可以清楚地看到我们缺少像这样的数据2,3,5,failed.

我认为在我们阅读之前资产已经完成InputStreamReader.有没有什么办法可以让资产等到我们阅读使用InputStreamReader并开始下一组指令,或者还有其他更好的方法来做到这一点.

EDIT1:

在我的原始代码中,我也在并行读取错误流,请找到代码.

ErrorStreamReader: …

java runtime

7
推荐指数
1
解决办法
775
查看次数

mrjob:该示例如何自动知道如何在文本文件中查找行?

我试图更好地理解 mrjob 的示例

from mrjob.job import MRJob  
class MRWordFrequencyCount(MRJob):

    def mapper(self, _, line):
        yield "chars", len(line)
        yield "words", len(line.split())
        yield "lines", 1

    def reducer(self, key, values):
        yield key, sum(values)
if __name__ == '__main__':
    MRWordFrequencyCount.run()
Run Code Online (Sandbox Code Playgroud)

我运行它

$ python word_count.py my_file.txt
Run Code Online (Sandbox Code Playgroud)

它按预期工作,但我不明白它如何自动知道它将读取文本文件并将其按行分割。我也不确定它是_做什么的。

据我了解,mapper()每行生成的三个键/值对是否正确?如果我想处理文件夹中的每个文件该怎么办?

并且reducer()自动知道如何将每个键的值相加?

如果我想通过 MapReduce 运行单元测试怎么办,Mapper 和Reducer 会是什么样子?有必要吗?

python mapreduce mrjob

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

从嵌套文件夹导入模块

我有这样的文件夹结构

\n\n
main_folder\n|\n|--done\n|  |\n|  |--test1\n|  |--__init__.py\n|\n|---check.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

__init__.py:

\n\n
class Tries(object):\n    def __init__(self):\n        print "Test"\n
Run Code Online (Sandbox Code Playgroud)\n\n

检查.py:

\n\n
from done.test1 import Tries\nTries()\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误:

\n\n
---------------------------------------------------------------------------\nImportError                               Traceback (most recent call last)\n<ipython-input-8-10953298e1df> in <module>()\n----> 1 from done.test1 import Tries\n\nImportError: No module named done.test1 \n
Run Code Online (Sandbox Code Playgroud)\n\n

我无法从嵌套文件夹导入模块。有什么办法可以做到这一点吗?

\n\n

编辑:

\n\n

在萨尔瓦的回答之后,我改变了我的结构,如下所示

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 check.py\n|--__init__.py(no content)\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 done\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py(no content)\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test1\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 __init__.py <-- this files contains your Tries class\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在也抛出同样的错误。

\n

python import python-2.7

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