小编HLH*_*HLH的帖子

Python 3 CSV文件给出UnicodeDecodeError:'utf-8'编解码器在打印时无法解码字节错误

我在Python 3中有以下代码,用于打印csv文件中的每一行.

import csv
with open('my_file.csv', 'r', newline='') as csvfile:
    lines = csv.reader(csvfile, delimiter = ',', quotechar = '|')
    for line in lines:
        print(' '.join(line))
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,它给了我这个错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 7386: invalid start byte
Run Code Online (Sandbox Code Playgroud)

我查看了csv文件,事实证明,如果我拿出一个ñ(顶部有一个波浪号的小n),每行打印都很好.

我的问题是,我已经查看了一系列针对类似问题的不同解决方案,但我仍然不知道如何解决这个问题,解码/编码等等.简单地取出数据中的ñ字符不是一个选项.

python csv encoding utf-8 python-3.x

25
推荐指数
4
解决办法
5万
查看次数

Django使用mysite.urls中定义的URLconf,按以下顺序尝试了以下URL模式:

我知道这个问题以前曾被问过,但是我还没有找到可以解决我情况的答案。

我正在看Django 教程,并且已经按照教程中的说明逐个设置了第一个URL,但是当我转到http:// http:// localhost:8000 / polls /时,它给我这个错误:

Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^polls/ ^% [name='index']
^admin/
The current URL, polls/, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)

我正在使用Django 1.10.5和Python 2.7。

这是我在相关网址和查看文件中的代码:

在mysite / polls / views.py中:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
  return HttpResponse("Hello, world. You're at the polls index.")
Run Code Online (Sandbox Code Playgroud)

在mysite / polls / urls.py中:

from django.conf.urls import …
Run Code Online (Sandbox Code Playgroud)

python django url

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

主键上的Flask SQLAlchemy NOT NULL约束失败

我正在尝试在SQLite中创建一个数据库,该数据库有两个表,一个用于机场列表,另一个表用于这些机场对之间的行程列表.我把它建立为一种自我参照,多对多的关系:

class Trips(db.Model):

    __tablename__ = 'trips'

    id = db.Column(db.Integer, primary_key=True)
    airport_from = db.Column(db.Integer, db.ForeignKey('airport.id'))
    airport_to = db.Column(db.Integer, db.ForeignKey('airport.id'))
    price = db.Column(db.Float)
    date = db.Column(db.Date)

class Airport(db.Model):

    __tablename__ = 'airport'

    id = db.Column(db.Integer, primary_key=True)
    iata = db.Column(db.String(8), index=True, unique=True)
    name = db.Column(db.String(120), index=True, unique=True)
    city = db.Column(db.String(120))
    region = db.Column(db.String(120))
    country = db.Column(db.String(120))

    flying_from = db.relationship('Trips', backref='end', primaryjoin=(id==Trips.airport_to))
    flying_to = db.relationship('Trips', backref='start', primaryjoin=(id==Trips.airport_from))

    def __repr__(self):
        return '<Airport: {0}; IATA: {1}>'.format(self.name, self.iata)
Run Code Online (Sandbox Code Playgroud)

当我打开我的Python shell并导入这些模型时,我让SQLAlchemy会话添加Airport对象并提交就好了,但当我做类似的事情时:

>>> t = models.Trips(airport_from=3, airport_to=4, price=230.0)
>>> db.session.add(t) …
Run Code Online (Sandbox Code Playgroud)

python sqlite sqlalchemy flask flask-sqlalchemy

7
推荐指数
1
解决办法
6093
查看次数

SQLAlchemy:如何使用 SQLAlchemy 更改 MySQL 服务器系统变量?

我想使用 SQLAlchemy 设置 general_log 和 general_log_file 变量,有没有办法做到这一点?我一直在谷歌搜索,找不到关于这个主题的任何内容。

python mysql sqlalchemy

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

如何让 Mockito 模拟另一个文件中的常量?

编辑:我正在测试的方法调用在另一个类中定义的这个常量,所以我想测试该方法是否独立于其他类定义常量的方式工作。嘲笑它是我能想到的第一件事,但我对如何以干净、安全的方式测试它的其他想法持开放态度

(类、方法和变量名称已泛化)

我正在尝试弄清楚如何编写测试。我的一个方法从另一个类获取常量,如下所示:

OtherClass.CONSTANT
Run Code Online (Sandbox Code Playgroud)

这个常数定义为:

public static final List<Long> CONSTANT =
  ImmutableList.of(1, 2);
Run Code Online (Sandbox Code Playgroud)

在测试这个方法时,我想模拟这个调用。我试过了

when(OtherClass.CONSTANT).thenReturn(ImmutableList.of(1, 2));
Run Code Online (Sandbox Code Playgroud)

但这给了我这个错误:

RegularImmutableList cannot be returned by otherFunction()
otherFunction() should return String
Run Code Online (Sandbox Code Playgroud)

otherFunction() 是代码库中的其他函数,它似乎与我一直在处理的任何内容无关。

我也尝试过

doReturn(ImmutableList.of(1, 2)).when(OtherClass.CONSTANT);
Run Code Online (Sandbox Code Playgroud)

但是,正如您可能猜到的那样,它给了我这个错误:

Argument passed to when() is not a mock!
Example of correct stubbing:
doThrow(new RuntimeException()).when(mock).someMethod();
Run Code Online (Sandbox Code Playgroud)

我非常不知道应该如何嘲笑这个常量。

java testing mockito

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

在Django上,如何通过SSH连接到远程服务器上的MySQL数据库?

我环顾四周,找不到任何具体解决我想知道的答案:

在Mac终端中,我可以通过ssh访问远程服务器:

ssh [my_username]@[server.host.com]
Run Code Online (Sandbox Code Playgroud)

它提示我输入密码,输入密码后,它会将我带到远程服务器.

登录远程服务器后,我可以访问MySQL:

mysql -u [other_username] -h [mysql.host.com] -p
Run Code Online (Sandbox Code Playgroud)

它提示我输入另一个密码,输入密码后,我在MySQL控制台,可以显示位于那里的数据库等.我们可以调用我对[数据库]感兴趣的数据库.

我的问题是,如何将我的本地主机上的Django连接到[数据库],以便我的应用程序使用[数据库]?

mysql database django ssh remote-server

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

将 Django 连接到实时 Heroku Postgres 数据库

我已将 Postgres 数据库添加到我的 Heroku 应用程序中,并尝试将我的 Django 应用程序连接到它。但是,我的应用程序始终连接到本地 Postgres 数据库。

设置.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'app_db',
        'USER': 'admin',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '',
    }
}

db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)
Run Code Online (Sandbox Code Playgroud)

我已将 .env 文件中的“DATABASE_URL”设置为 Heroku 应用程序上 Postgres 数据库的 url,但它似乎没有更新数据库。如何强制我的应用程序连接到 Heroku 数据库而不是本地数据库?

python django postgresql heroku

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