小编Rik*_*ggi的帖子

如何将记录消息从多处理模块路由到文件?

Python文档中,我发现在使用多处理模块生成不同进程的python脚本中可以记录日志消息.

import multiprocessing
import logging

logger = multiprocessing.log_to_stderr()
logger.setLevel(logging.INFO)
Run Code Online (Sandbox Code Playgroud)

所以logger.warning('doomed')会给我消息'doomed',但只给控制台.

如何将日志消息切换到文件?

python logging file multiprocessing

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

Django静态文件

我正在尝试使用Django开发一个网站,遵循各种指南,文档和谷歌.我有一些平面页面设置需要访问图像/ CSS文件.

我的settings.py文件如下所示:

# Django settings for FirstBlog project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': …
Run Code Online (Sandbox Code Playgroud)

html python django

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

Python添加列表元素(或集合,或任何适当的数据类型)

是否有一种简单的方法来添加两个大小相同的成员list(或者tuple哪种数据类型最好)?

我有,例如a,b有2个元素:

a = (0, 10)
b = (0, -10)
Run Code Online (Sandbox Code Playgroud)

我想添加它们并得到结果:

result = (0, 0)
Run Code Online (Sandbox Code Playgroud)

(0, 10, 0, -10)

python tuples list add members

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

while循环不在python中退出

我现在正在尝试自学python,而我正在使用"学习Python艰难之路"中的练习来完成这项工作.

现在,我正在进行涉及while循环的练习,在这里我从脚本中获取while循环,将其转换为函数,然后在另一个脚本中调用该函数.最终程序的唯一目的是将项添加到列表中,然后在列表中打印.

我的问题是,一旦我调用该函数,嵌入式循环决定无限继续.

我已经多次分析了我的代码(见下文),并且找不到任何明显的错误.

def append_numbers(counter):
    i = 0
    numbers = []

    while i < counter:
        print "At the top i is %d" % i
        numbers.append(i)

        i += 1
        print "Numbers now: ", numbers
        print "At the bottom i is %d" % i

count = raw_input("Enter number of cycles: ")

print count
raw_input()

append_numbers(count)
Run Code Online (Sandbox Code Playgroud)

python infinite-loop while-loop

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

条件的 Python 子列表

我有 3 个列表x, yz我用以下方法绘制它们:

ax.plot3D(x, y, z, linestyle = 'None', marker = 'o').
Run Code Online (Sandbox Code Playgroud)

只绘制点 where 的最简单方法是什么x > 0.5

(我的问题是如何在条件下定义子列表而不在该列表上进行 for 循环)。

python list

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

连接嵌套元组

给出两个变量

A = (2, 3)
B = (1, 4), (5, 8)
Run Code Online (Sandbox Code Playgroud)

将两者连接成结果变量的最简单方法是什么C,以便:

C = ((2, 3), (1, 4), (5, 8))
Run Code Online (Sandbox Code Playgroud)

请注意,只需调用:

C = A + B 
Run Code Online (Sandbox Code Playgroud)

结果是:

C = (2, 3, (1, 4), (5, 8))
Run Code Online (Sandbox Code Playgroud)

不是理想的结果.

此外,请注意,元组是优选的列表,以便的地方A,B并且C可以作为字典键在其它地方使用.

python nested tuples concatenation

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

确定python中的硬币组合

我被要求在python中编写一个程序,能够在给定的金额中正确地找到硬币的组合和每个硬币的数量.在这个问题中,仅使用镍和硬币.

前 - 鉴于有10个硬币,有多少镍币和硬币在0.85美元?

这就是我解决它的方式:

  1. 方程式:

    d + n = 10
    .10d + .05n = .85

  2. 解n:
    n = 10 - d

  3. 求解:
    .10d + .05(10-d)= .85
    .05d + .5 -.05d = .85
    .05d = .35
    d = 7
    n = 3

我该如何编程呢?

对不起,如果这是一个愚蠢的问题,但我是python的新手,我完全迷失在这一个.

python

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

在Python中,如何在字典的列表中对元组中的数字列表求和?

huge =  sum([x for key in G for (_,x) in G[key]]+1)
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止,虽然它返回一个类型错误,只能将列表(不是"int")连接到我不理解的列表.

基本上我处理的数据结构就像

{1: [("A",2), ("B",3)]}
Run Code Online (Sandbox Code Playgroud)

等等,所以字典中的每个键都有一个元组列表的值,第二个项目,每个元组的index = 1是我想要求和的值,所以在我给出的例子中:

huge = 5   # i.e. 2 + 3
Run Code Online (Sandbox Code Playgroud)

任何建议?

python dictionary tuples

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

麻烦输出到文件

我这里有这个简单的代码

import os

path = (raw_input("Enter dir: "))   
f = open('script_list.log', 'w')
for dirpath, dirname, filenames in os.walk(path):
  for filename in [f for f in filenames]:
    f.write(str(filename) + "\n")
    print os.path.join(dirpath, filename)
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下内容

Enter dir: scripts
Traceback (most recent call last):
  File "C:\Documents and Settings\CRichards\My Documents\My Dropbox\this_code.py", line 8, in <module>
    f.write(str(filename) + "\n")
AttributeError: 'str' object has no attribute 'write'
Run Code Online (Sandbox Code Playgroud)

我知道它必须是简单的东西,我只是看不到它.

python

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

如何确保用户仅在python django中投票一次?

我有一个包含“推送”字段的Entry模型,我希望每个用户“推送”一次(投票)。我搜索了,找不到我需要的东西。

这是我的模型:

class Entry(models.Model):
    title = models.CharField(max_length = 100)
    link = models.URLField(verify_exists=False)
    posted = models.DateTimeField(auto_now_add=True)
    submitter = models.ForeignKey(User, blank=True, null=True)
    pushes = models.PositiveIntegerField(default=0)

    def __unicode__(self):
        return self.title + " - " + unicode(self.submitter)
Run Code Online (Sandbox Code Playgroud)

这是我的首页视图:

def homepage(request):
    entries = Entry.objects.all().order_by('-posted')
    paginator = Paginator(entries, 30)

    try: page = int(request.GET.get('page', '1'))
    except ValueError: page = 1

    try:
        entries = paginator.page(page)
    except (InvalidPage, EmptyPage):
        entries = paginator.page(paginator.num_pages)

    return render_to_response('index.html', {'entries' : entries},
                              context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我该如何做到使用户不能多次按下?
我必须创建一个新功能吗?
我应该更改模型中的某些内容吗?

python django voting

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