小编Aam*_*nan的帖子

重复for循环的迭代

如果由于某种原因我想重复相同的迭代我怎么能在python中做到这一点?

for eachId in listOfIds:
    #assume here that eachId conatins 10
    response = makeRequest(eachId) #assume that makeRequest function request to a url by using this id
    if response == 'market is closed':
       time.sleep(24*60*60) #sleep for one day
Run Code Online (Sandbox Code Playgroud)

现在,当功能唤醒从睡眠状态后一天(市场(外汇交易市场)是打开的)我想恢复我从循环eachId = 10 noteachId = 11,因为eachId = 10尚未被处理的market was closed,任何帮助表示高度赞赏感谢.

python for-loop

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

如果卡住了90秒,如何从功能返回?

可能重复:
Python函数调用超时

我想实现当函数花了超过90秒完成时它应该在超时时立即返回.有没有办法实现这一目标?

def abc(string):
    import re
    if re.match('some_pattern', string):
        return True
    else:
        return False

abc('some string to match')
Run Code Online (Sandbox Code Playgroud)

编辑

请下载测试文件.我创建了一个线程类,并在发生超时错误时在线程内引发异常.但线程仍然存在,因为它i am still alive :)甚至在异常后打印.为什么异常不会强制线程停止?

python

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

Django:如果用户没有注销,我如何查看用户的上次活动时间?

django的用户模型有一个last_login字段,如果所有用户每次离开网站时都要注销,那就太棒了,但如果他们不这样做呢?

如何跟踪从未注销的用户及其在网站上的活动?

python django middleware

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

从Excel文档中获取超链接URL

我正在使用xlrd读取Excel文件.在一列中,我有一个公司名称,其格式为超链接(意味着它背后有一个URL).当我得到单元格值时,我只得到公司名称.我怎样才能获得它背后的URL?

下面是使用xlrd模块读取Excel文件的代码(假设文件已导入).

mainData_book = xlrd.open_workbook("IEsummary.xls", formatting_info=True)
mainData_sheet = mainData_book.sheet_by_index(0) # Get the first sheet 0
start = 1
end = 101
for counter in range(start, end):
    rowValues = mainData_sheet.row_values(counter, start_colx=0, end_colx=8)
    company_name = rowValues[0] #how i can get link here also??
Run Code Online (Sandbox Code Playgroud)

python xlrd

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

UnpicklingError无效的加载密钥,'{'

我正在处理一个应用程序Django.我试图e.g. dictionaryMySQLdb中存储一些数据结构.所以我使用Python Pickle模块.当我使用db存储它时,它工作正常pickle.dumps(some_structure).我的DB字段是longblob模式binary.

但是当我访问django中的模型对象的字段时:

obj = someModel.get(pk=1)
some_structure = obj.field
content  = pickle.loads(some_structure)
Run Code Online (Sandbox Code Playgroud)

它会引发以下错误:

UnpicklingError: invalid load key, '{'.
Run Code Online (Sandbox Code Playgroud)

请帮助我,我试过谷歌,但它没有帮助我,也有一个类似的问题,但它与我的问题无关,因为我存储在数据库中.

python mysql pickle

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

Django get_or_create,怎么说commit = False

假设我有这个模型:

class SocialGroupMembers(models.Model):
    social_group = models.ForeignKey(SocialGroup, related_name="members")
    profile = models.ForeignKey(Profile)
    date_joined = models.DateTimeField(auto_now_add=True)
    added_by = models.ForeignKey(User)
    approved = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)

如果我做:

obj, created = SocialGroupMembers.objects.get_or_create(
        social_group=social_group, profile=profile)
    # this will give integrity error that added_by can not be null
Run Code Online (Sandbox Code Playgroud)

我不想added_by在过滤条件中包含字段.我想added_by稍后保存字段.有点像commit=False告诉Django我计划稍后添加更多字段:

obj, created = SocialGroupMembers.objects.get_or_create(commit=False,
        social_group=social_group, profile=profile)
if created:
    obj.added_by = request.user
    obj.save()
else:
    #do something
Run Code Online (Sandbox Code Playgroud)

我知道有其他选择,例如我可以使用ObjectDoesNotExist.但有没有办法实现所需的功能get_or_create

我想排除该added_by字段的原因是因为可能是另一个用户已经添加了另一个用户配置文件.

python django

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

如何使用 Django 模板中的变量访问对象的属性?

如何使用变量访问对象的属性?我有这样的事情:

{% for inscrito in inscritos %}
   {% for field in list_fields_inscrito %}
      {{inscrito.field}} //here is the problem
   {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

例如 Inscrito 有: inscrito.id、inscrito.Name 和 inscrito.Adress,我只想打印 inscrito.id 和 inscrito.Name 因为 id 和 Name 在 list_fields_inscrito 中。

有人知道这是怎么做的吗?

django templates

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

Python - 解析Json或XML的速度更快?

根据我的观察,整体JSON来说Parse比... 更快XML.我发现了两个很好的问题.一个被要求提供PHP,另一个被要求提供JavaScript.我想知道python,python如何与它们一起高效?哪个解析效率更高.另外请帮助选择最适合XML的Python解析器(例如xmlparser库,lxml或?)和JSON(simplejson,jsonlib或?).

python xml json xml-parsing

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

在MySQL db中保存Python Pickled对象

我在Django中腌制Python对象并将其保存在MySQL数据库中.到目前为止,我遵循了这些简单的规则:

  1. cPickle.dumps(object) #将python对象转换为pickle对象

  2. cPickle.loads(pickled_object) #从pickle对象加载python对象

  3. 我的Django Model FieldText Field

  4. MySQL数据库字段类型是longblob属性binary

  5. MySQL db编码是 utf8_unicode_ci

不幸的是我在加载python对象时遇到以下错误.

Type Error: ('an integer is required', <type 'datetime.date'>, ('x07xb6x0bx06',))
Run Code Online (Sandbox Code Playgroud)

在我看来,通过查看错误值,x07xb6x0bx06这是一个编码问题.我错过了一些重要的步骤吗?任何人都可以帮我解决这个问题吗?

python mysql django pickle

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

数据隐藏在Python类中

我知道由双下划线__前缀声明的类的属性可能在类定义之外可见也可能不可见.因为我们仍然可以访问这些属性object._className__attrName.

class A:
    def __init__(self):
        self.a = 1
        self.b = 2
        ----
        ----
        self.z = 26
        self.catch = 100
Run Code Online (Sandbox Code Playgroud)

现在为了保护除属性之外的所有属性catch,我必须用双下划线声明它们,这是非常混乱的.有没有办法可以在我的班级定义中说只能self.catch在课外访问?

如果在其他地方回答或之前讨论过,请道歉.

python

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

标签 统计

python ×9

django ×4

mysql ×2

pickle ×2

for-loop ×1

json ×1

middleware ×1

templates ×1

xlrd ×1

xml ×1

xml-parsing ×1