小编Mar*_*ery的帖子

像 Dict 和 List 这样的通用类型提示可以不用方括号而直接使用吗?

文档显示Dict它被用作通用类型,如下所示:

def get_position_in_index(word_list: Dict[str, int], word: str) -> int:
    return word_list[word]
Run Code Online (Sandbox Code Playgroud)

当然,word_list上面的类型提示也是正确的dict

def get_position_in_index(word_list: dict, word: str) -> int:
    return word_list[word]
Run Code Online (Sandbox Code Playgroud)

Dict但是,像这样单独用作类型提示来指示dict具有任何类型的键和值的a是否正确?

def get_position_in_index(word_list: Dict, word: str) -> int:
    return word_list[word]
Run Code Online (Sandbox Code Playgroud)

(同样,其他泛型类型如List和可以Sequence以这种方式裸露使用吗?)

python type-hinting

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

在不发出任何请求的情况下检查 AWS 凭证是否存在

我有一个程序有时需要使用 boto3 向 AWS API 发出请求。有时,有人在不提供任何凭据的情况下运行此脚本,当脚本到达需要与 AWS 交互的位置时,它会崩溃并显示botocore.exceptions.NoCredentialsError.

我想通过在脚本启动时验证是否已提供任何凭据来抢占先机,如果没有,则使用解释性消息退出。然而,正如文档中所述,有很多可能的方法来提供 boto3 能够理解的凭据,我想让我的用户使用其中任何一种(而不是要求他们提供凭据作为环境变量)。

如何在脚本开始时快速检查凭证是否可用(而不向 AWS API 发出不必要的请求)?

python amazon-web-services boto3

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

在Windows 7中保存Excel加载项

我有一个Excel加载项,我正在开发,在Windows XP中工作正常.但是,我刚刚掌握了Windows 7 Professional,现在我无法通过VBA编辑器手动或以编程方式使用来保存此加载项ThisWorkbook.Save.

错误消息说

"Micrsosoft Office Excel无法访问文件'C:\ Program Files\Microsoft Office\Office 12\LIBRARY [一些随机的8个字符的字符串而不是我的加载项的名称]".

此对话框错误的可能解释之一是"文件名或路径不存在".嗯,当然不是.

我尝试关闭加载项文件及其目录的只读,以及使用"属性"对话框"解锁"文件(似乎是新的Windows 7功能),但无济于事.

如何在Windows 7中使用此基本保存功能?

excel vba uac excel-vba windows-7

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

Objective-C中的货币转换

如何使用Cocoa或Cocoa Touch框架在Objective-C中转换货币?

cocoa cocoa-touch currency objective-c

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

覆盆子的GPIO命令无法通过crontab工作

我有一个Raspberry Pi.我通过命令行在板上安装了WiringPi for pilot GPIO.

我做了一个名为aggiornaora.sh的脚本

gpio -g write 18 1 #it set the GPIO port to 1
#log with reverse append
(echo 'accensione';date;echo ' ') | cat - logstufa.txt > temp && mv temp logstufa.txt
Run Code Online (Sandbox Code Playgroud)

如果我试图直接执行它,这个脚本工作正常sh aggiornaora.sh.但是当cron运行脚本时,它只执行第二个操作.全部具有root权限.我通过"gpio readall"检查了这个问题.

在您看来可能是什么问题?

bash gpio raspberry-pi

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

@property vs只是声明getter和setter

行为 - 在编译时或运行时 - 在此代码之间是否存在任何差异...

// MyClass.h
@interface MyClass : NSObject

@property (nonatomic) SomeType myProperty;

@end

// MyClass.m
@implementation MyClass

@end
Run Code Online (Sandbox Code Playgroud)

......和这段代码?

// MyClass.h
@interface MyClass : NSObject

-(SomeType)myProperty;
-(void)setMyProperty:(SomeType)myProperty;

@end

// MyClass.m
@implementation MyClass {
    SomeType _myProperty;
}

-(SomeType)myProperty {
    return _myProperty;
}

-(void)setMyProperty:(SomeType)myProperty {
    _myProperty = myProperty;
}

@end
Run Code Online (Sandbox Code Playgroud)

显然,前一版本更简洁,更易读,但行为有什么不同吗?合成的getter和setter是否做了比我直接实现更复杂的事情?内省函数是否可以通过声明getter和setter来区分属性的声明?还有其他我没有想到的差异吗?

objective-c

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

单击时获取动态生成的TextView的文本

我正在运行for循环并生成应该可单击的TextView,因为我想启动一个intent并将url作为参数和源传递.

所以,我试过这个

articleURL[i].setPaintFlags(articleURL[i].getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
articleURL[i].setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //System.out.println(articleURL[v.getId()].getText().toString());
        System.out.println(v.getId());
    }
});
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是v.getId()始终为0.当我使用注释代码时

System.out.println(articleURL[v.getId()].getText().toString()); 
Run Code Online (Sandbox Code Playgroud)

我得到一个例外

java.lang.ArrayIndexOutOfBoundsException: length=10; index=-1
Run Code Online (Sandbox Code Playgroud)

我只需要点击TextView的内容.我到底怎么做到了?articleURL [i]不起作用,因为他当时不知道.v.getId()如何始​​终为-1?无论我点击哪一个?

这是完整的for循环

TextView articleURL = new TextView[hashMapSize];
for (int i = 0; i < hashMapSize; i++) {
    articleURL[i] = new TextView(getActivity());
    articleURL[i].setPaintFlags(articleURL[i].getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
    articleURL[i].setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            System.out.println(articleURL[v.getId()].getText().toString());
            //System.out.println(v.getId());
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

java android onclick textview

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

AttributeError: 'Response' 对象没有属性 'json'

当我尝试使用请求库中.json()响应对象的方法时,出现错误:

>>> import requests
>>> response = requests.get("http://example.com/myfile.json")
>>> response_json = response.json()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Response' object has no attribute 'json'
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误,我该如何解决?

python json python-requests

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

AngularJS错误:[$ injector:itkn]注入令牌不正确!预期的服务名称为字符串,未定义

尝试运行包含此控制器的Angular应用程序:

routerApp.controller('chartSettingsCtrl', ['$scope', '$timeout', 
 , function($scope, $timeout) { /* body omitted */ }
Run Code Online (Sandbox Code Playgroud)

给我错误:

Error: [$injector:itkn] Incorrect injection token! Expected service name as string, got undefined
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

javascript angularjs

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

如何更改 Sublime Text 3 中“添加光标”的鼠标绑定?

目前,要在 Sublime Text 3 中选择多个光标,您必须按住Ctrl键并左键单击。我想改变那个的鼠标绑定。相反Ctrl,我想使用Alt.

我知道如何在 Sublime Text 3 中更改鼠标绑定。它是创建文件Username\AppData\Roaming\Sublime Text 3\Packages\User\Default (Windows).sublime-mousemap

[
    {
        "button": "button1",
        "count": 1,
        "modifiers": ["alt"],
        "press_command": "drag_select",
        "command": "command_here"
    }
]
Run Code Online (Sandbox Code Playgroud)

我不知道我应该在那里输入什么命令。我在https://docs.sublimetext.io/reference/commands.html 中找到了命令列表,但找不到。

sublimetext3

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