小编war*_*iuc的帖子

格式规范显示空白(空字符串)为零(0)

格式规范中是否有选项将零值显示为空白,否则使用格式?

>>> from decimal import Decimal
>>> '{:+010,.2f}'.format(Decimal('1234.56'))
'+01,234.56'
>>> '{:???f}'.format(Decimal(0))
''
>>> 
Run Code Online (Sandbox Code Playgroud)

更新:

我需要与此处相同的行为:

http://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SectionSeparator

如果Python在标准库中没有它,请确认这一点,我将接受它作为答案.

python string-formatting python-3.x

3
推荐指数
1
解决办法
2799
查看次数

导入错误 - 发生了什么?

Python导入.再次...

我有这个文件结构:

[test]
    start.py (from scripts import main)
    [scripts]
        __init__.py (empty)
        main.py (from . import install)
        install.py (from scripts import main # or # from . import main)
Run Code Online (Sandbox Code Playgroud)

我收到导入错误:

vic@wic:~/projects/test$ python3 start.py 
Traceback (most recent call last):
  File "start.py", line 2, in <module>
    from scripts import main
  File "/home/vic/projects/test/scripts/main.py", line 1, in <module>
    from . import install
  File "/home/vic/projects/test/scripts/install.py", line 1, in <module>
    from scripts import main
ImportError: cannot import name main
vic@wic:~/projects/test$
Run Code Online (Sandbox Code Playgroud)

我不明白:第一次from scripts import main工作(通过"工作",我的意思是它没有失败ImportError …

python python-3.x

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

调用数字文字的方法

我可以str在字符串文字上调用方法.但我不能int在整数数字文字上调用方法:

Python 2.7.5+ (default, Sep 19 2013, 13:48:49) 
>>> 1.bit_length()
  File "<stdin>", line 1
    1.bit_length()
               ^
SyntaxError: invalid syntax
>>> a = 1
>>> a.bit_length()
1
>>> ', '.join(['1', '2'])
'1, 2'
>>> 
Run Code Online (Sandbox Code Playgroud)

这是为什么?

python python-2.7

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

如何动态迭代包?

这是我与Go的第一周,所以请原谅无知;).我来自Python的和平.我正在构建一个带加法和减法的简单计算器.

我的addition.go文件看起来像这样:

package calculator

type Add struct{}

func (h Add) First(x int) int {
    x += 5
    return x
}

func (h Add) Second(x int) int {
    x += 10
    return x
}
Run Code Online (Sandbox Code Playgroud)

我的subtraction.go文件的布局看起来非常相似addition.go,未来的功能multiplication.godivision.go看起来类似.要运行这些我有:

package main

import (
    "fmt"
    "github.com/mytester/calculator"
)

type Calc interface {
    First(x int) int
    Second(x int) int
}

func main() {
    x := 10
    var i Calc
    a := &calculator.Add{}
    i = a
    i.First(x)
    fmt.Println(x)
    fmt.Println(i.First(x)) …
Run Code Online (Sandbox Code Playgroud)

go

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

cursor()引发errors.OperationalError("MySQL连接不可用.")OperationalError:MySQL Connection不可用

import requests
import time
import csv
import ast
import sys
import mysql.connector

config = {
'user': 'root',
'password': 'password',
'host': '127.0.0.1',
'port': '3306',
'database': 'dbname',
'raise_on_warnings': True,}

cnx = mysql.connector.connect(config)    
cursor = cnx.cursor()
Run Code Online (Sandbox Code Playgroud)

跑步给出:

Traceback (most recent call last):
  File "/home/ubuntu/scrapers/xrp2.py", line 17, in <module>
    cursor = cnx.cursor()
  File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 1383, in cursor
    raise errors.OperationalError("MySQL Connection not available.")
OperationalError: MySQL Connection not available.
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这一问题?其他论坛有类似的错误并通过没有太多游标打开来修复问题,但这是第一次调用cursor(),所以我不确定为什么它不可用.我需要从Ubuntu终端关闭MySQL吗?

我的配置文件通过Sequel Pro的SSH正常连接.

已解决:将配置放入.connect(语句)而不是字典.

import requests
import mysql.connector

cnx = mysql.connector.connect(user ='root', password= 'p', …
Run Code Online (Sandbox Code Playgroud)

python mysql-connector mysql-connector-python

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

在一个请求中保存两个新的相关对象

我在Django中有两个模型:

class Thread(models.Model):
    entity = models.ForeignKey(Entity, null=True, blank=True)
    ...

class ThreadMessage(models.Model):
    thread = models.ForeignKey(Thread, related_name='messages')
    author = models.ForeignKey(User)
    ...
Run Code Online (Sandbox Code Playgroud)

现在,客户端想要创建一个包含第一条消息的新线程.它首先做一个POST /threads创建一个新线程并找出它id然后POST /messagesthread字段中传递找到的id .

我想如果在Ember的一个请求中完成所有这些是合理的和可能的,例如:

POST /messages 
{"message": {"text": "text", ...},
 "thread":  {"entity": 1}}
Run Code Online (Sandbox Code Playgroud)

响应将是:

{"message": {"text": "text", "id": 5678, "thread": 1234, ...},
 "thread":  {"entitity": 1, "id": 1234, ...}}
Run Code Online (Sandbox Code Playgroud)

rest ember.js json-api

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

如何使MyList可迭代?

我想创建一个行为类似于列表的类.挑战在于不使用列表或字典.到目前为止,我已经创建了一个如下所示的节点类:

class Node:

    def __init__(self, value=None):
        self.next = None
        self.last = None
        self.value = valor

    def __repr__(self):
        return self.value
Run Code Online (Sandbox Code Playgroud)

而且这个MyList类基本上是一个节点链,有一个头节点和一个尾节点.事情是,我想让它可迭代,所以我可以用它运行for.我搜索了它和下一个如何工作,并提出了这样的事情:

class MyList:

    def __init__(self):
        self.head = None
        self.tail = None

    def __iter__(self):
        return self

    def __next__(self):
        if self.head:
            if self.head.next:
                self.head = self.head.next
                return self.head.last
            aux = self.head
            self.head = None
            return aux
        raise StopIteration
Run Code Online (Sandbox Code Playgroud)

它工作但它显然删除里面的数据MyList所以我不能再使用它.有关如何在不弄乱对象内部信息的情况下获得相同结果的任何建议?

python functional-programming class list nodes

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

发出HTTP [S]请求的首选方法

我需要使用POST,GET和其他方法发出HTTP和HTTPS请求,并指定标头和超时.

在互联网上有很多例子,它们都是不同的:

import urllib.parse
import urllib.request

url = 'http://www.someserver.com/cgi-bin/register.cgi'
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
values = {'name' : 'Michael Foord',
          'location' : 'Northampton',
          'language' : 'Python' }
headers = { 'User-Agent' : user_agent }

data = urllib.parse.urlencode(values)
req = urllib.request.Request(url, data, headers)
response = urllib.request.urlopen(req)
the_page = response.read()
Run Code Online (Sandbox Code Playgroud)

要么

    fetcher = urllib2.build_opener()
    fetcher.addheaders.append(('Cookie', 'aaaa=%s' % aaaa))
    res = fetcher.open(settings.ABC_URL)
Run Code Online (Sandbox Code Playgroud)

要么

req = urllib2.Request(url=url)
req.add_header('X-Real-IP', request.META['REMOTE_ADDR'])
req.add_header('Cookie', request.META['HTTP_COOKIE'])
req.add_header('User-Agent', request.META['HTTP_USER_AGENT'])
resp = urllib2.urlopen(req).read()
Run Code Online (Sandbox Code Playgroud)

要么

handler = urllib.urlopen('http://...')
response …
Run Code Online (Sandbox Code Playgroud)

python http urllib urllib2 httprequest

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

使用一次查找从地图中弹出一个值

如何在 Go 中实现一个仅使用一次查找从地图中弹出键的函数?此版本在地图上进行两次查找:

package main

import "fmt"

func main() {
    m := map[string]int{"a":1, "b":2}
    a, ok := m["a"]
    if ok {
        delete(m, "a")
    }
    fmt.Println(a, m)
}
Run Code Online (Sandbox Code Playgroud)

我检查过可能delete会返回已删除键的值:

package main

func main() {
    m := map[string]int{"a":1, "b":2}
    println(delete(m, "a"))
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

prog.go:5: delete(m, "a") used as value
Run Code Online (Sandbox Code Playgroud)

go

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

使用pyenv在系统范围内安装特定版本的Python

我正在研究在我们的项目中升级到Python 3.6的可能性.

现在我们ppa:fkrull/deadsnakes在Ubuntu 14.04上使用Python 3.5.2 .PPA还没有Python 3.6,它还不清楚什么时候可用.

我不想再安装另一个PPA.

我正在努力寻找一种更通用的方法.

我发现人们建议使用pyenv从源代码编译Python,这听起来很有趣,因为我可以随时升级Python,而无需等到repo维护者添加它.此外,我可以轻松安装其他Python风格,如PyPy.

我还没准备好将pyenv用作虚拟环境,所以我想知道是否可以使用它来全局编译和安装Python,以便我可以使用它.

python pyenv python-3.6

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

绘制二次曲线

如何使用C#System.Drawing命名空间绘制通过3个点的二次曲线?

c# system.drawing gdi+ quadratic

0
推荐指数
1
解决办法
4286
查看次数

在 python 字符串中的句点后添加空格时遇到问题

我必须编写代码来做两件事:

  1. 将多个出现的空格字符压缩为一个。

  2. 如果没有空格,请在句号后添加一个空格。

例如:

input> This   is weird.Indeed
output>This is weird. Indeed.
Run Code Online (Sandbox Code Playgroud)

这是我写的代码:

def correction(string):
    list=[]
    for i in string:
        if i!=" ":
            list.append(i)
        elif i==" ":
            k=i+1
            if k==" ":
               k=""
            list.append(i)

    s=' '.join(list)
    return s

strn=input("Enter the string: ").split()
print (correction(strn))
Run Code Online (Sandbox Code Playgroud)

这段代码接受用户的任何输入并删除所有额外的空格,但它没有在句点后添加空格(我知道为什么不这样做,因为拆分函数它将句号和下一个单词作为一个单词,我只是不知道如何修复它)

这是我在网上找到的代码:

import re
def correction2(string):
  corstr = re.sub('\ +',' ',string)
  final = re.sub('\.','. ',corstr)
  return final

strn= ("This   is as   .Indeed")
print (correction2(strn))
Run Code Online (Sandbox Code Playgroud)

这段代码的问题是我无法接受用户的任何输入。它是在程序中预定义的。那么任何人都可以建议如何改进这两个代码中的任何一个来对用户的任何输入执行这两个功能吗?

python

0
推荐指数
1
解决办法
3611
查看次数

变量名称为"无"

我需要一个名字变量None:

class QAbstractPrintDialog(QDialog):
    None = int() # QAbstractPrintDialog.PrintDialogOption enum
    PrintToFile = int() # QAbstractPrintDialog.PrintDialogOption enum
    PrintSelection = int() # QAbstractPrintDialog.PrintDialogOption enum
    ...
Run Code Online (Sandbox Code Playgroud)

但:

语法错误:无法分配给None

我需要这个名字None.我认为这会奏效:

QAbstractPrintDialog.None = int() # QAbstractPrintDialog.PrintDialogOption enum
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.有没有解决方法没有语法错误?像setattr这样的解决方案对我不起作用 - 这个代码将被解析以提取类,函数,参数等.

Python 2.6,2.7

编辑:

我正在帮助一个人编写伪Python模块,其中包含Qt类的描述.QAbstractPrintDialog是其中一个类,它有enum QAbstractPrintDialog::PrintDialogOption(http://doc.trolltech.com/latest/qabstractprintdialog.html).其中一个枚举是None.我可以轻松引用None属性,QAbstractPrintDialog.None但我无法设置它.int()表示属性的类型.

请看:http://scummos.blogspot.com/2011/06/kdevelop-python-language-support-plugin.html

python

-3
推荐指数
1
解决办法
1070
查看次数