小编Cer*_*rin的帖子

如何将Python字节字符串表示形式转换为字节?

我有许多 Python 字节对象存储在一个文本文件中,Python 会打印"b'\x80\x03}q\x00.'"这些对象,例如 How do I conversion back into a bytes object?

换句话说,我正在尝试找到一个可以实现的功能convert("b'\x80\x03}q\x00.'") == b'\x80\x03}q\x00.'

我觉得这应该是微不足道的,但这些明显的方法都不起作用:

>>> s = "b'\x80\x03}q\x00.'"
>>> bytes(s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: string argument without an encoding
>>> bytes(s.encode())
b"b'\xc2\x80\x03}q\x00.'"
>>> bytes(s[2:-1].encode())
b'\xc2\x80\x03}q\x00.'
>>> bytes(s[2:-1].encode('utf8'))
b'\xc2\x80\x03}q\x00.'
>>> eval(s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: source code string cannot contain null bytes
>>> exec(s)
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python

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

在 Django REST Framework 中公开 MoneyFields?

我有一些使用 Django 模型djmoney.models.fields.MoneyField。这存储了诸如“US$1,000.00”之类的数据。

我试图通过Django REST Framework的 API直接在 Django 的管理中使用自定义视图来公开它,例如:

from rest_framework import generics
from rest_framework import serializers

class MyModelAdmin(admin.ModelAdmin):

    def changelist_view_api(self, request, extra_context=None):

        cl = self.get_changelist_instance(request)
        base_queryset = cl.get_queryset(request)

        fieldsets = self.get_fieldsets(request)

        class ModelSerializer(serializers.ModelSerializer):

            class Meta:
                model = self.model
                fields = all_fields

        class ModelAdminListAPI(generics.ListCreateAPIView):
            queryset = base_queryset
            serializer_class = ModelSerializer

            name = '%s List API' % self.model._meta.verbose_name.title()

            def get(self, request, *args, **kwargs):
                return self.list(request, *args, **kwargs)

        view_handler = ModelAdminListAPI.as_view(queryset=base_queryset, serializer_class=ModelSerializer)
        return view_handler(request, extra_context, format=_format)
Run Code Online (Sandbox Code Playgroud)

这很有效,唯一的例外是它会因这些特殊的 MoneyField …

python django django-rest-framework

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

如何使用 Python 对 AWS Cognito 用户池进行身份验证?

我有一个静态无服务器网站,允许使用AWS Cognito 用户池通过 Javascript 进行身份验证。

现在我正在尝试启用一些编程访问,因此我需要通过 Python 脚本进行相同的身份验证。这可能吗?该文档没有提供任何Python代码示例。

我只是想找到某种方法让 Python 针对 AWS URL 发出 GET 或 POST 请求,向其传递用户名和登录信息,然后取回验证身份验证的签名 cookie

我发现的最接近的例子是这段代码,它引用了cognito-idp API。我修改为:

import boto3
client_id = '<my_app_client_id>'
region_name = 'us-east-1'
auth_data = { 'USERNAME':'myusername' , 'PASSWORD':'mypassword' }
provider_client = boto3.client('cognito-idp', region_name=region_name)
resp = provider_client.initiate_auth(AuthFlow='USER_PASSWORD_AUTH', AuthParameters=auth_data, ClientId=client_id)
print('resp:', resp)
Run Code Online (Sandbox Code Playgroud)

但是,即使我使用与 Javascript API 相同的凭据,也无法进行身份验证并仅返回错误:

botocore.exceptions.NoCredentialsError: Unable to locate credentials
Run Code Online (Sandbox Code Playgroud)

这是与 Javascript Cognito API 等效的正确 Python 吗?

python amazon-web-services amazon-cognito

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

Python Easy_Install更新报告

有没有一种简单的方法来获取通过easy_install安装的所有Python库的报告,这些库具有更新版本?我不想简单地在已知安装的库列表上重新运行easy_install,因为较新的库可能具有非向后兼容的更改.我想获得一个列表,以便我快速查看更改内容,并检查新版本以审查任何可能存在冲突的更改.

python easy-install

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

Bash测试并在目录模式存在时执行

如何对目录模式的存在进行内联测试?

如果存在目录模式,那么我想chmod该模式.

例如,我正在尝试执行以下操作:

[ -d /usr/local/myproject/*/bin ] && chmod +x /usr/local/myproject/*/bin/*
Run Code Online (Sandbox Code Playgroud)

但这给了我错误"-bash:[:太多的论点".

linux bash shell

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

提高Android GPS性能

如何改善Android平台上的慢速GPS信号采集?

我正在测试一个基于这个开源代码的简单GPS记录器,虽然看起来很有效,但它首先获取信号并开始显示GPS坐标可能需要10-15分钟.但是,在同一设备上运行谷歌地图应用程序似乎几乎立即获得一个信号(它甚至能够实时检测我面向的方向),而GPS记录器服务仍然表示无法找到信号.

为什么谷歌地图获取GPS信号的速度如此之快,而标准的GPS系统服务需要永远?

我启动GPS服务的具体代码是:

private void startLoggerService() {
    lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    locationListener = new MyLocationListener();
    lm.requestLocationUpdates(
        LocationManager.GPS_PROVIDER, 
        2000, 
        1,
        locationListener);
}
Run Code Online (Sandbox Code Playgroud)

java gps android

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

合并词袋scikits分类器与任意数字字段

你如何合并一个scikits-learn 分类器,它运行在一个单词袋上,一个在任意数字字段上运行?

我知道这些在幕后基本上是一样的,但是我很难通过现有的库方法找出如何做到这一点.例如,我的词袋分类器使用管道:

classifier = Pipeline([
    ('vectorizer', HashingVectorizer(ngram_range=(1,4), non_negative=True)),
    ('tfidf', TfidfTransformer()),
    ('clf', OneVsRestClassifier(LinearSVC())),
])
classifier.fit(['some random text','some other text', ...], [CLS_A, CLS_B, ...])
Run Code Online (Sandbox Code Playgroud)

而我的其他用法如下:

classifier = LinearSVC()
classifier.fit([1.23, 4.23, ...], [CLS_A, CLS_B, ...])
Run Code Online (Sandbox Code Playgroud)

我如何构建一个可以使用两组数据进行训练的LinearSVC分类器?例如

classifier = ?
classifier.fit([('some random text',1.23),('some other text',4.23), ...], [CLS_A, CLS_B, ...])
Run Code Online (Sandbox Code Playgroud)

python classification scikit-learn

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

使用 Python 访问 Outlook API

如何使用 Python 访问 XML API 以在 Microsoft Office 365 帐户中创建日历事件?

我在http://outlook.office365.com上有一个托管帐户,我正在尝试使用 Python 库https://github.com/linkedin/pyexchange(几乎逐字使用示例代码)来创建日历事件,但 Outlook 拒绝我的凭据并显示错误“无法连接到 Exchange:HTTP 错误 401:未经授权”

我正在使用端点https://outlook.office365.com/EWS/Exchange.asmx,以及我通常用来登录 Web UI 的用户名和密码。

我是否需要专门设置或配置我的帐户才能从 API 访问它?

python outlook soap

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

如何在Bash命令行参数中转义空格

Bash是否支持在命令行参数中转义空格?

我有一个简单的Python脚本使用argparse来获取从Bash传递的参数,但是当我调用它时:

myscript.py --name="Some Text With Spaces"
Run Code Online (Sandbox Code Playgroud)

我得到一个结果:

args = ['Text', 'With' Spaces']
kwargs = {'name': 'Some'}
Run Code Online (Sandbox Code Playgroud)

我虽然Bash支持空格"\"但尝试

myscript.py --name="Some\ Text\ With\ Spaces"
Run Code Online (Sandbox Code Playgroud)

导致同样的事情.

我是否在滥用Bash,或者这是我在Python方面需要处理的问题?

python bash

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

Django无法迁移PostgreSQL:关系Y的约束X不存在

我正在尝试在PostgreSQL 9.6.5数据库上运行Django 1.11迁移,但遇到了奇怪的错误:

  Applying myapp.0011_auto_20171130_1807...Traceback (most recent call last):
  File "manage.py", line 9, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 204, in handle
    fake_initial=fake_initial,
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 115, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/usr/local/myproject/.env/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 145, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) …
Run Code Online (Sandbox Code Playgroud)

python django postgresql django-migrations

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