Python + Google App Engine:os.path.exist只查找* some *文件

时间:2014-08-26 03:27:47

标签: python django google-app-engine

我使用djangoappengine(https://github.com/django-nonrel/djangoappengine)并且boot.py的find_project_dir找不到app.yaml。

我添加此调试代码并使用AppEngine Launcher 1.9.9.1194和SDK 1.9.9时间戳1406573704运行。

注意:这可能适用于旧版本的AppEngine SDK。我很长一段时间没有触及该项目,当我再次触摸它时,我遇到了这个问题。之间有一个SDK更新。

我修复它现在检查cron.yaml而不是app.yaml,但这并不能解释为什么会发生这种情况。如果这种情况发生在更多人身上,我就会提交错误。

for d in os.listdir('/path/to/my/project/'):
    print d
    print os.path.exists('/path/to/my/project/%s' % d)

输出:

.DS_Store
False
.gaedata
False
.git
False
.gitignore
False
__init__.py
True
__init__.pyc
False
app.yaml
False
autoload
True
build.sh
True
cron.yaml
True
csrfsetmiddleware
True
customers
True
dbindexer
True
django
True
djangoappengine
True
djangoappengine_git
True
djangoappengine_old
True
djangotoolbox
True
djangotoolbox_git
True
djangotoolbox_old
True
frontend
False
index.yaml
False
indexes.py
True
indexes.pyc
False
invoices
True
LICENSE
True
manage.py
True
README.md
True
requirements.txt
True
services
True
settings.py
True
settings.pyc
False
static_frontend
True
templates
True
urls.py
True
urls.pyc
False

1 个答案:

答案 0 :(得分:0)

除了您传递给listdir的路径之外,还可以模拟上传应用后会发生什么。由于skip_files中的app.yaml导致某些文件被跳过,上传期间会查询app.yaml,但部署的应用程序实际上并未提供这些文件。