在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',但只给控制台.
如何将日志消息切换到文件?
我正在尝试使用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) 是否有一种简单的方法来添加两个大小相同的成员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,而我正在使用"学习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) 我有 3 个列表x, y,z我用以下方法绘制它们:
ax.plot3D(x, y, z, linestyle = 'None', marker = 'o').
Run Code Online (Sandbox Code Playgroud)
只绘制点 where 的最简单方法是什么x > 0.5?
(我的问题是如何在条件下定义子列表而不在该列表上进行 for 循环)。
给出两个变量
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中编写一个程序,能够在给定的金额中正确地找到硬币的组合和每个硬币的数量.在这个问题中,仅使用镍和硬币.
前 - 鉴于有10个硬币,有多少镍币和硬币在0.85美元?
这就是我解决它的方式:
方程式:
d + n = 10
.10d + .05n = .85
解n:
n = 10 - d
求解:
.10d + .05(10-d)= .85
.05d + .5 -.05d = .85
.05d = .35
d = 7
n = 3
我该如何编程呢?
对不起,如果这是一个愚蠢的问题,但我是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)
任何建议?
我这里有这个简单的代码
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)
我知道它必须是简单的东西,我只是看不到它.
我有一个包含“推送”字段的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)
我该如何做到使用户不能多次按下?
我必须创建一个新功能吗?
我应该更改模型中的某些内容吗?