小编Iam*_*ool的帖子

文件对象中的rb和r + b模式有什么区别

我在Python中使用pickle模块并尝试不同的文件IO模式:

# works on windows.. "rb"
with open(pickle_f, 'rb') as fhand:
        obj = pickle.load(fhand)

# works on linux.. "r"
with open(pickle_f, 'r') as fhand:
        obj = pickle.load(fhand)

# works on both "r+b"
with open(pickle_f, 'r+b') as fhand:
        obj = pickle.load(fhand)
Run Code Online (Sandbox Code Playgroud)

我从来没有在任何地方阅读过"r + b"模式,但在文档中提到了它.

我得到EOFError在Linux上,如果我使用的"rb"模式,在windows下"r"使用.我只是给了"r+b"模式一个镜头,它正在两个都工作.

什么"r+b"模式?"rb"和"r + b"之间有什么区别?当别人不这样做时,为什么会这样?

python file-io file pickle

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

Flask无法找到模板

我的项目结构如下

run.py
lib/
mysite/
    conf/
        __init__.py (flask app)
        settings.py
    pages/
        templates/
            index.html
        views.py
        __init__.py
Run Code Online (Sandbox Code Playgroud)

这是 mysite.conf.__init__

from flask import Flask

app = Flask(__name__)
app.debug = True
Run Code Online (Sandbox Code Playgroud)

我的想法是现在导入app到每个其他模块以使用它来创建视图.在这种情况下,有一个模块pages.

pages.views我有一些代码

from flask import render_template
from mysite.conf import app

@app.route('/')
def index():
    return render_template('index.html')
Run Code Online (Sandbox Code Playgroud)

index.html被放置在pages/templates

当我运行这个应用程序时run.py,如下所示

from mysite.conf import app
app.run()
Run Code Online (Sandbox Code Playgroud)

我收到模板未找到错误.怎么解决?为什么会这样呢!

我基本上是一个django家伙,wsgi每次导入对象时都会面临很多不便,在每个模块中创建一个视图!它有点疯狂 - 这在某种程度上鼓励了循环进口.有什么方法可以避免这种情况吗?

python flask

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

Django 1.4:如何忽略loaddata中的字段和模型

我们有一个15MB上传的压缩转储数据提取到100MB.它几乎没有在当前表中使用的模型和字段.

具体来说,contenttypes可以忽略的模型很少,并且field_在模型中可以忽略一个字段.

Django 1.5用户-ignorenonexistent可以安全地完成忽略工作.但是如何在1.4中有效地做到这一点?

python django django-models django-fixtures

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

App Engine:NDB和数据存储之间的差异

我现在已经阅读了Google App Engine文档(Python),发现了两种不同类型的存储.

  1. NDB数据存储区
  2. 数据库数据存储区

两个配额限制(免费)似乎都是相同的,他们的数据库设计也是如此.但是NDB会自动在Memcache中缓存数据!

我其实想知道何时使用哪个存储?关于这个的一般做法是什么?

我可以完全依赖NDB而忽略DB吗?应该怎么做?

我一直在使用Django,并在Django-nonrel中读到JOIN操作可以在NDB中以某种方式完成!其余的存储空间用于DB!这是为什么?两个存储都是无模式的,并且使用相同的设计.如何有人可以调整NDB中的JOIN而不是数据库中的JOIN?

python django google-app-engine

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