小编cra*_*ice的帖子

在这个python代码中生成"TypeError字符映射必须返回整数..."的是什么?

拜托,有人可以用下面的代码帮我吗?当我运行它时,日志说:

return method(*args, **kwargs)
  File "C:\Users\CG\Documents\udacity\rot13serendipo\main.py", line 51, in post
    text = rot13(text)
  File "C:\Users\CG\Documents\udacity\rot13serendipo\main.py", line 43, in rot13
    return st.translate(tab)
TypeError: character mapping must return integer, None or unicode
   INFO     2012-04-28 20:02:26,862 dev_appserver.py:2891] "POST / HTTP/1.1" 500 -
Run Code Online (Sandbox Code Playgroud)

我知道错误必须在rot13()中.但是,当我在IDE中运行此过程时,它正常工作.

这是我的代码:

import webapp2

form= """
  <html>
  <head>
    <title>Unit 2 Rot 13</title>
  </head>

  <body>
    <h2>Enter some text to ROT13:</h2>
    <form method="post">
      <textarea name="text"
                style="height: 100px; width: 400px;"></textarea>
      <br>
      <input type="submit">
    </form>
  </body>

  </html> """

def rot13(st):
    import string
    tab1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine typeerror

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

如何使用jinja2复制模板中的名称?

如果我有一个名为num_countries的模板变量,要使用Django复数,我可以写下这样的东西:

countr{{ num_countries|pluralize:"y,ies" }}
Run Code Online (Sandbox Code Playgroud)

有没有办法用jinja2做这样的事情?(我知道这在jinja2中不起作用)jinja2的替代方案是什么?

谢谢你的提示!

python templates jinja2 pluralize

15
推荐指数
3
解决办法
6450
查看次数

Jinja2的问题:TemplateNotFound:index.html

我正在尝试使用jinja2构建我的第一个GAE应用程序.在克服了十几个小错误之后,现在我坚持这个:

Traceback (most recent call last):

File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1536, in __call__
    rv = self.handle_exception(request, response, e)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1530, in __call__
    rv = self.router.dispatch(request, response)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "C:\Users\CG\Documents\udacity\HiMon\main.py", line 31, in get …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine templates jinja2

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

Python UnicodeDecodeError:'ascii'编解码器不能解码不在范围内的字节0xe2序数(128)

我正在尝试使用Python在Google App Engine中编写我的第一个应用程序(该应用程序的链接:http://contractpy.appspot.com/ - 它只是一个实验性应用程序).整个代码如下.

但是,当我提交数据时,我收到此错误(显示在日志中):

(...) line 265, in get "contractType":geted_contractType
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 949: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

第265行在此if块中:

self.response.out.write(yourcontract % {"resident":geted_resident_name,
                                      "nacionality":geted_user_nacionality,
                                      "SSN":geted_user_SSN,
                                      "SSN_error":geted_SSN_error,
                                      "driverLicense":geted_user_driverLicense,
                                      "email":geted_user_email,
                                      "witness ":geted_witness ,
                                      "owner":geted_owner,
                                      "contractType":geted_contractType
                                      })
Run Code Online (Sandbox Code Playgroud)

我尝试进行更改,阅读类似的awnswers(像这样或者这样),但没有任何帮助.我无法弄清楚这段代码出了什么问题.有人能弄清楚是什么导致了这样的错误以及如何解决它?

我正在使用Python 2.7.

在此先感谢您的帮助!

# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
#!/usr/bin/env python
#
# Copyright 2007 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine ascii asciiencoding

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

Python IOError:文件未打开以进行写入,并且未定义全局名称"w"

我正在尝试编写一个小程序,用Python编写一个文件行(追加会更好),如下所示:

def getNewNum(nlist):
    newNum = ''
    for i in nlist:
        newNum += i+' ' 
    return newNum

def writeDoc(st):
    openfile = open("numbers.txt", w)
    openfile.write(st)

newLine =  ["44", "299", "300"]

writeDoc(getNewNum(newLine))
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我得到错误:

openfile = open("numbers.txt", w)
NameError: global name 'w' is not defined
Run Code Online (Sandbox Code Playgroud)

如果我放下"w"参数,我会收到另一个错误:

line 9, in writeDoc
    openfile.write(st)
IOError: File not open for writing
Run Code Online (Sandbox Code Playgroud)

我正在追随(我希望)这里有什么.

当我尝试追加新行时也会出现同样的情况.我该如何解决这个问题?

python io syntax-error

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

如何在没有这种奇怪结果的情况下合并Google文本文档中表格的两个单元格?

我已经写了这个函数(谢谢@Mogsdad)来合并文本google文档中表格中的单元格,如下所示:

在此输入图像描述

function onOpen() {
  // Add a menu with some items, some separators, and a sub-menu.
  DocumentApp.getUi().createMenu('Sample')
      .addItem('merge cells of a table', 'mergeCells')          
      .addToUi();
}



function mergeCells() {
  var body = DocumentApp.getActiveDocument().getBody();
  for (var p= 0; p< body.getNumChildren(); p++) {
    var child = body.getChild(p);
    if (child.getType() == DocumentApp.ElementType.TABLE){
      // Assume we've already located our table
      var table = child;
      var tableRow = table.getChild(2); // gets third row
      var tableCell = tableRow.getChild(1); // gets second cell in row
      tableCell.merge(); // Merges …
Run Code Online (Sandbox Code Playgroud)

google-docs google-apps-script

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

如何使用 getTime() 从两个日期正确计算 JS 中的剩余时间?

我正在尝试使用此函数在 JS 中计算剩余时间(例如:从今天(2014/03/02)算起的 10 年、2 个月和 10 天:

var d2 = new Date(2024, 3, 12);
var d1 = new Date();
var d0 = new Date(1970, 0, 1);

var diff = new Date(d2.getTime() - (d1.getTime() + d0.getTime() ) );
var years = diff.getFullYear();
var months = diff.getMonth();
var days = diff.getDay();

alert("remaining time = " + years + " years, " + months + " months, " + days + " days.");
Run Code Online (Sandbox Code Playgroud)

但是,我得到了 1980 年的差异,而不是 10 年的差异(尽管我理解的天数差异购买了以月和年为单位的天数变化):

在此处输入图片说明

是否可以使用此策略执行此“剩余时间”操作?如果是这样,如何得到预期的结果?

这里是 JS shell …

javascript datetime date humanize google-apps-script

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

理解python类中的控制流的麻烦(在谷歌应用引擎中)

大家好,我在理解python类中的控制流方面遇到了一些麻烦,也就是说,一步一步地哄骗代码.鉴于下面的短代码,我想知道:当调用类MainPage时,它只执行该类中的所有内容?按线性顺序?(第一行,第二行等)

在此输入图像描述

python class control-flow

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

为什么这个代码得到这个'str'对象没有属性'get_match_routes'错误?

我正在尝试使用Google App Engine构建一个(新手)应用程序,但是当我运行它时,我发现这个(日志)错误,我不明白:

 File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1479, in __init__
    self.router = self.router_class(routes)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1129, in __init__
    self.add(route)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1142, in add
    for r in route.get_match_routes():
AttributeError: 'str' object has no attribute 'get_match_routes'
INFO     2012-04-29 14:42:34,056 dev_appserver.py:2891] "GET / HTTP/1.1" 500 -
Run Code Online (Sandbox Code Playgroud)

整个代码如下.有人可以弄清楚这个错误的原因以及我如何解决它?在此先感谢您的帮助!

import webapp2

form = """

<html>
 <head>
<title>Sign Up</title>
<style type="text/css">
  .label {text-align: right}
  .error {color: red}
</style>

  </head>

  <body>
    <h2>Signup</h2>
<form method="post">
  <table>
    <tr>
      <td class="label">
        Username …
Run Code Online (Sandbox Code Playgroud)

html python google-app-engine

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

如何在 Google Docs 之间复制内容和格式?

我需要复制 Google 文档的内容,并将其附加到另一个文档。如果我使用这样的东西:

newDoc.getBody().appendParagraph(template.getText());

...我得到了文本,但丢失了原始文件中的格式。(粗体斜体等)

如何将内容和格式复制到新文档?是否可以将所有内容分配给一个变量,然后将其复制/粘贴到新文档中?

google-docs google-apps-script

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