小编aat*_*ifh的帖子

为什么python不允许使用连字符

我一直想知道为什么我们不能在python中的函数名和变量名之间使用连字符

尝试过像Lisp和Clojure这样的函数式编程语言,允许使用连字符.为什么python不这样做.

# This won't work -- SyntaxError
def is-even(num):
    return num % 2

# This will work
def is_even(num):
    return num % 2
Run Code Online (Sandbox Code Playgroud)

我确信圭多爵士一定是因为某些原因而这样做了.我用Google搜索但无法找到答案.任何人都可以对此有所了解吗?

python

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

Django ImageField问题

我有一个类似的模型

Class Student(models.Model):
"""A simple class which holds the basic info
of a student."""

name = models.CharField(max_length=50)
age = models.PositiveIntegerField()
photo = models.ImageField(upload_to='foobar', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我们可以看到照片字段是可选的.我希望所有将他们的图像保存在大学数据库中的学生.为此,我做到了这一点

>>> Student.objects.exclude(photo__name=None)
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

FieldError: Join on field 'photo' not permitted.
Run Code Online (Sandbox Code Playgroud)

那么,我怎样才能提取所有那些有照片的学生呢?

对此有任何帮助将不胜感激.提前致谢.

python django django-models

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

将文件移动到目录

我想当前目录中与特定模式匹配的所有文件移动到另一个目录.

例如,如何将所有文件从nz一个名为foobar?的目录移动到?我尝试使用mv它,但它没有成功.

bash

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

Queryset API distinct()不起作用?

class Message(models.Model):
    subject = models.CharField(max_length=100)
    pub_date = models.DateTimeField(default=datetime.now())

class Topic(models.Model):
    title = models.CharField(max_length=100)
    message = models.ManyToManyField(Message, verbose_name='Discussion') 
Run Code Online (Sandbox Code Playgroud)

我想根据附加到该主题的最新消息对象来获取所有主题的顺序.我执行了这个查询,但这并没有给出不同的查询集.

>> Topic.objects.order_by('-message__pub_date').distinct()
Run Code Online (Sandbox Code Playgroud)

python django

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

如何在google-app-engine中使用inbulit django templatetags

我试图在我的谷歌应用程序中使用像标记和人性化的内置模板标签中的Django,但它不起作用.我在INSTALLED_APPS中添加了标记和人性化.还是行不通.怎么用?

google-app-engine django-templates

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

Django中的日期时间问题

我正在尝试添加一个人的日期时间对象.每当出生年份少于1942年时,DataError: unable to parse time从DB读取数据时会出现奇怪的错误.

class Person(models.Model):
    """A simple class to hold the person info
    """
    name = models.CharField(max_length=100)
    born = models.DateTimeField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

每当我试图添加datetime1929年出生的人的出生对象然后尝试阅读它时,它就会失败.

让我重新假设数据插入工作正常,但在读取期间失败.我假设在内部数据库中出现问题.

我做了一套测试,并且每当我添加1940年或之前出生的人时,我都知道它失败了.它给出了 DataError: unable to parse time

我正在使用PostgreSQL.

任何形式的帮助将不胜感激.谢谢.

python django postgresql datetime

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

我在向CSV文件发出Http请求时收到此类CSV数据.非常畸形的字符串

我在向CSV文件发出Http请求时收到此类CSV数据.非常畸形的字符串.

response = '"Subject";"Start Date";"Start Time";"End Date";"End Time";"All day event";"Description""Play football";"16/11/2009";"10:00 PM";"16/11/2009";"11:00 PM";"false";"""Watch 2012";"20/11/2009";"07:00 PM";"20/11/2009";"08:00 PM";"false";""' 
Run Code Online (Sandbox Code Playgroud)

我想将其转换为字典列表

[{"Subject": "Play football", "Start Date": "16/11/2009", "Start Time": "10:00 PM", "End Date": "16/11/2009", "End Time": "11:00 PM", "All day event", false, "Description": ""},
 {"Subject": "Watch 2012", "Start Date": "20/11/2009", "Start Time": "07:00 PM", "End Date": "20/11/2009", "End Time": "08:00 PM", "All day event", false, "Description": ""}]
Run Code Online (Sandbox Code Playgroud)

我尝试使用python csv模块解决这个问题但是没有用.

import csv
from cStringIO import StringIO

>>> str_obj = StringIO(response)
>>> reader = csv.reader(str_obj, delimiter=';') …
Run Code Online (Sandbox Code Playgroud)

python csv

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

如何使用Beautifulsoup在一些文本中嵌入p标签?

我想嵌入 <p>标签,哪里有\ r \n\r \n.

"最后,斯里兰卡出现,阻止了他们的首次5-0系列粉饰,并在连续9场ODI胜利中阻止了印度.\ r \n\r \n对于62球,Yuvraj Singh发挥了梦想的敲门声,让印度保持在比赛中尽管小门摔倒在他身边.\ r \n\r \n也许折腾起了很大的作用.这是Mahela Jayawardene在过去的11场比赛中第二次用硬币击败Mahendra Singh Dhoni.\ r \n\r \n它是Jayasuriya为斯里兰卡提供了跳板.\ r \n\r \n烟火可能已经停止了Jayasuriya的解雇,但运行仍然以合理的速度进行."

我尝试使用BeautifulSoup解决这个问题,但无法找到解决方法.任何人都可以通过这一点了解.提前致谢.

python beautifulsoup

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

字符串内的字符串

BASE_URL = 'http://foobar.com?foo=%s'

variable = 'bar'

final_url = BASE_URL % (variable)
Run Code Online (Sandbox Code Playgroud)

我得到这个'http://foobar.com?foo=bar'#它忽略了内部字符串.

但我想要这样的东西 'http://foobar.com?foo='bar''

谢谢你的回答.

你能帮我解决几乎同样的问题:

lst = ['foo', 'bar', 'foo bar']

[str(l) for l in lst if ' ' in l] 
Run Code Online (Sandbox Code Playgroud)

我明白['foo bar']但是我想要它[''foo bar'']

提前致谢.

python string

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