格式规范中是否有选项将零值显示为空白,否则使用格式?
>>> 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导入.再次...
我有这个文件结构:
[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 …
我可以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)
这是为什么?
这是我与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.go和division.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) 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) 我在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 /messages在thread字段中传递找到的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) 我想创建一个行为类似于列表的类.挑战在于不使用列表或字典.到目前为止,我已经创建了一个如下所示的节点类:
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所以我不能再使用它.有关如何在不弄乱对象内部信息的情况下获得相同结果的任何建议?
我需要使用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) 如何在 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) 我正在研究在我们的项目中升级到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,以便我可以使用它.
我必须编写代码来做两件事:
将多个出现的空格字符压缩为一个。
如果没有空格,请在句号后添加一个空格。
例如:
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)
这段代码的问题是我无法接受用户的任何输入。它是在程序中预定义的。那么任何人都可以建议如何改进这两个代码中的任何一个来对用户的任何输入执行这两个功能吗?
我需要一个名字变量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 ×9
go ×2
python-3.x ×2
c# ×1
class ×1
ember.js ×1
gdi+ ×1
http ×1
httprequest ×1
json-api ×1
list ×1
nodes ×1
pyenv ×1
python-2.7 ×1
python-3.6 ×1
quadratic ×1
rest ×1
urllib ×1
urllib2 ×1