小编bge*_*hel的帖子

缩短我在Zsh中的提示

我在使zsh缩短提示时遇到了很多麻烦.我目前正在使用带有agnoster主题的zsh和oh-my-zsh包管理器.

我的提示目前在工作期间变得烦人,通常大约110个字符,占据了我的终端的整个长度,这在美学上并不是很令人愉悦.

我看了几个其他人的.zshrc并试图修改他们的提示,但似乎没有任何东西在我的工作.我已经尝试将许多很多东西复制到我的.zshrc中并且看不到任何影响.

我最近的尝试是尝试从/sf/answers/12009511/复制提示块

没有.即使我在包含此块时禁用了我的主题,提示仍然是全长的.

此外,我似乎无法找到关于如何格式化我的提示的任何简单或直接的指南.我在搜索时发现的大部分结果只产生了长格式字符串而没有使用说明或说明.

任何帮助赞赏!

shell terminal zsh zshrc oh-my-zsh

10
推荐指数
4
解决办法
7998
查看次数

AWS示例模板上的AWS cloudformation命令失败

我正在尝试启动并运行AWS Cloudformation,但是对于我尝试使用的每个模板都获得相同的,没有帮助的错误消息,其中大部分都是直接从AWS网站复制的.

我跑

? aws cloudformation validate-template --template-body template.yml
Run Code Online (Sandbox Code Playgroud)

并得到错误

An error occurred (ValidationError) when calling the ValidateTemplate operation:
  Template format error: unsupported structure. 
Run Code Online (Sandbox Code Playgroud)

无论我用什么文件作为模板.例如,hellobucket.yml文件直接来自AWS指南,使用cloudformation作为工作模板的一个非常简单的示例:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics . HTML

这个链接说:

我们来看一个非常基本的模板.以下模板声明了AWS :: S3 :: Bucket类型的单个资源:名称为HelloBucket.

YAML

? aws cloudformation validate-template --template-body template.yml
Run Code Online (Sandbox Code Playgroud)

如果您使用此模板创建堆栈,AWS CloudFormation将创建Amazon S3存储桶.创建存储桶很简单,因为AWS CloudFormation可以使用默认设置创建存储桶.

但是不起作用.当它说结构不受支持并且我没有关于如何修复它的线索时,不知道什么是cli意味着什么.

任何指导赞赏.谢谢!

amazon-web-services aws-cloudformation

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

try/ except 不捕获特定类型的异常

我试图捕获函数调用内引发的特定类型的异常。我将函数调用包含在 try/ except 块内,其中 except 块捕获抛出的特定异常。我仍然会获得该异常的系统失败堆栈跟踪,除非我还包含所有异常的常规捕获。在包含该块并检查所捕获的异常的类型时,我发现它正在捕获我想在第一个块中捕获的异常类型。不知道为什么会发生这种情况。

上下文:使用 webapp2 和 ndb 开发 Google 应用程序引擎应用程序。文件函数有一个init .py,它从 exceptions.py 导入所有异常

模拟代码和结构

utils/函数/Exceptions.py

"""
Custom exception types
"""

class InvalidParamsException(Exception):
def __init__(self, msg):
    self.msg = msg

def __str__(self):
    return repr(self.msg)
Run Code Online (Sandbox Code Playgroud)

模型/models.py

import os, sys
sys.path.append(os.path.join(os.path.dirname(__file__), ".."))
import utils.functions as func
<-->
class ModelClass(ndb.Model):

    @classmethod
    def new(cls):
         <-->
         raise func.InvalidParamsException("Invalid Params to function!")
         <-->
Run Code Online (Sandbox Code Playgroud)

路线.py

import utils.functions as func
from models import ModelClass

class ModelClassHandler(webapp2.RequestHandler):
    def post(self):
        try:
            new_model = ModelClass.new()
        except func.InvalidParamsException as e: …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine python-2.7 webapp2

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

请求有效,而URLFetch则没有

我正试图在谷歌应用程序引擎应用程序中向python中的粒子服务器发出请求.

在我的终端中,我可以简单而成功地完成请求,如下所示:

res = requests.get('https://api.particle.io/v1/devices', params={"access_token": {ACCESS_TOKEN}})
Run Code Online (Sandbox Code Playgroud)

但在我的应用程序中,同样的事情不适用于urlfetch,它一直告诉我它无法找到访问令牌:

    url = 'https://api.particle.io/v1/devices'
    payload = {"access_token": {ACCESS_TOKEN}}
    form_data = urllib.urlencode(payload)
    res = urlfetch.fetch(
        url=url,
        payload=form_data,
        method=urlfetch.GET,
        headers={
            'Content-Type':
            'application/x-www-form-urlencoded'
        },
        follow_redirects=False 
    )
Run Code Online (Sandbox Code Playgroud)

我不知道问题是什么,也没办法调试.谢谢!

python google-app-engine urlfetch python-requests

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

如何等待IntentService完成其任务

我正在使用intent服务与服务器通信以获取应用程序的数据.在应用程序尝试访问或使用数据存储的变量之前,我希望应用程序等待它请求的数据被发回(希望意味着已请求数据的IntentService已经完成运行)我该怎么做呢?谢谢!

rest android android-internet intentservice android-async-http

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

无法从BigQuery的时间戳中提取日期

我正在尝试获取上周与特定实体ID相关联的所有行。每行都有一个时间戳。我想通过从datetime时间戳中提取日期来按天对这些实体进行分组,但是当我尝试时,我得到了

错误:(L6:28):GROUP BY中的表达式STRFTIME_UTC_USEC([data_timestamp],'%Y-%m-%d')无效

来自bigquery。DATE()函数似乎出了点问题。

这是我正在运行的完整查询:

SELECT Count(*) FROM [myproj:mydataset.mytable] 
WHERE 
    bool_property=False 
AND 
    entity_id=5667423172689920 
AND
    DATEDIFF(CURRENT_DATE(), data_timestamp) <= 7
GROUP BY DATE(data_timestamp)
Run Code Online (Sandbox Code Playgroud)

查看数据,似乎质量(此处称为“ data_timestamp”)实际上是适当的时间戳;我真的不明白为什么DATE()函数会失败。

有帮助或提示吗?谢谢!

sql google-bigquery google-cloud-platform

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

itertools.groupby函数似乎不一致

我很难理解这个函数究竟是什么,因为我猜,它的使用的编程魔术?

在我看来,它返回一个键的列表(字符串中的唯一字母)与迭代器配对,引用原始字符串中每个字母的数量列表,但有时似乎不是这种情况.

例如:

import itertools

x = list(itertools.groupby("AAABBB"))
print x
Run Code Online (Sandbox Code Playgroud)

打印:

[('A', <itertools._grouper object at 0x101a0b050), 
 ('B', <itertools._grouper object at 0x101a0b090)]
Run Code Online (Sandbox Code Playgroud)

这似乎是正确的,我们有独特的键与迭代器配对.但是当我跑步时:

print list(x[0][1])
Run Code Online (Sandbox Code Playgroud)

我明白了:

[]
Run Code Online (Sandbox Code Playgroud)

当我跑

for k, g in x:
    print k + ' - ' + g
Run Code Online (Sandbox Code Playgroud)

我明白了:

B - <itertools._grouper object at 0x1007eedd5>
Run Code Online (Sandbox Code Playgroud)

它忽略了第一个元素.这似乎违反直觉,因为如果我只是稍微改变一下语法:

[list(g) for k, g in itertools.groupby("AAABBB")]
Run Code Online (Sandbox Code Playgroud)

我明白了:

[["A", "A", "A"], ["B", "B", "B"]]
Run Code Online (Sandbox Code Playgroud)

这是正确的,并与我认为这个功能应该做的事情保持一致.

但是,如果我再一次更改语法:

[list(thing) for thing in [g for k, g in itertools.groupby(string)]]
Run Code Online (Sandbox Code Playgroud)

我回来了:

[[], ['B']]
Run Code Online (Sandbox Code Playgroud)

这两个列表推导应该是直接等价的,但它们会返回不同的结果.

到底是怎么回事?洞察力将非常感激.

python group-by list-comprehension python-itertools

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