小编gus*_*rom的帖子

如何在使用Python在SQLite中插入行后检索插入的id?

如何在使用Python在SQLite中插入行后检索插入的id?我有这样的表:

id INT AUTOINCREMENT PRIMARY KEY,
username VARCHAR(50),
password VARCHAR(50)
Run Code Online (Sandbox Code Playgroud)

我插入一个新行,例如数据username="test"password="test".如何以事务安全的方式检索生成的id?这适用于网站解决方案,其中两个人可能同时插入数据.我知道我可以得到最后一行,但我不认为这是交易安全的.有人可以给我一些建议吗?

python sqlite

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

如何使用matplotlib中的逗号将轴编号格式格式化为数千?

如何更改x轴上的数字格式10,000而不是10000?理想情况下,我只想做这样的事情:

x = format((10000.21, 22000.32, 10120.54), "#,###")
Run Code Online (Sandbox Code Playgroud)

这是代码:

import matplotlib.pyplot as plt

# create figure instance
fig1 = plt.figure(1)
fig1.set_figheight(15)
fig1.set_figwidth(20)

ax = fig1.add_subplot(2,1,1)

x = 10000.21, 22000.32, 10120.54

y = 1, 4, 15
ax.plot(x, y)

ax2 = fig1.add_subplot(2,1,2)

x2 = 10434, 24444, 31234
y2 = 1, 4, 9
ax2.plot(x2, y2)

fig1.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib

50
推荐指数
6
解决办法
7万
查看次数

Python 有没有办法匹配不等式?3.10?

Python 3.10 中新的结构模式匹配功能是一个非常受欢迎的功能。有没有办法使用这个语句来匹配不等式?原型示例:

match a:
    case < 42:
        print('Less')
    case == 42:
        print('The answer')
    case > 42:
        print('Greater')
Run Code Online (Sandbox Code Playgroud)

python pattern-matching python-3.10

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

"无法分配抽象类型的对象"错误

错误在这里:

vector<Graduate *> graduates;
graduates.push_back(new AliceUniversity(identifier,id,salary,average));
Run Code Online (Sandbox Code Playgroud)

祖父母班:

Graduate::Graduate(char identifier,
                   long id,
                   int salary,
                   double average)
    : _identifier(identifier),
      _id(id),_salary(salary),
      _average(average)
{
}
Run Code Online (Sandbox Code Playgroud)

家长班:

UniversityGraduate::UniversityGraduate(char identifier,
                                       long id,
                                       int salary,
                                       double average)
    : Graduate(identifier,id,salary,average)
{
}
Run Code Online (Sandbox Code Playgroud)

实际/儿童班:

AliceUniversity::AliceUniversity(char identifier,
                                 long id,
                                 int salary,
                                 double average)
    : UniversityGraduate(identifier,id,salary,average)
{
    _graduateNum++;
    _sumOfGrades += average;
    _avrA = getAverage();
}
Run Code Online (Sandbox Code Playgroud)

我知道这是一个很长的镜头,我不能在这里写完整个代码......

c++ vector pure-virtual data-structures

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

如何逐行将文件传输到多个读取变量中?

我有一个包含两列信息的文件:

box1 a1
box2 a2
Run Code Online (Sandbox Code Playgroud)

我正在尝试逐行读取此文件read并将每个行项目放入变量中.

在第一遍,$a将包含box1$b将包含a1.

在第二遍,$a将包含box2,$b并将包含a2,等.

我用来尝试实现的代码示例如下:

for i in text.txt; do
    while read line; do
        echo $line | read a b;
    done < text.txt;
    echo $a $b;
done
Run Code Online (Sandbox Code Playgroud)

这给了我以下结果:

box1 a1 box2 a2
Run Code Online (Sandbox Code Playgroud)

当我预期以下结果时:

box1 a1
box2 a1
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

bash

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

如何从sqlite中的另一个数据库导入表?

我有database1一个用表t1database2一个表命名的SQLite数据库t2.我想导入表t2database2database1.我应该使用什么命令?

sqlite

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

GDB的奇怪行为

我一直在尝试调试一些小东西,并且在尝试这样做时几乎疯了.经过几个小时的解决问题后,我终于得到了一段代码,这是我问题的根源:

#include <iostream>
#include <vector>
#include <stack>

using namespace std;

int main()
{
    std::vector<int> foo = std::vector<int>();

    foo.push_back(0);
    foo.push_back(11);
    foo.push_back(222);
    foo.push_back(3333);

    std::stack<int> bar = std::stack<int>();

    cout << endl << foo.size() << endl << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有了这个编译,使用:

g++ -std=c++11 -ggdb -O0 -pedantic -Wall -Wextra -Wno-nonnull -fkeep-inline-functions
Run Code Online (Sandbox Code Playgroud)

然后我尝试以下方法:

(gdb) br 18
Breakpoint 1 at 0x40170c: file ./....cpp, line 18.
(gdb) r
Starting program: ...
[New Thread 15620.0x3c3c]

Breakpoint 1, main () at ./....cpp:18
18              cout << endl << foo.size() << …
Run Code Online (Sandbox Code Playgroud)

c++ gdb

6
推荐指数
1
解决办法
166
查看次数

python3搞砸了终端

我使用的是Mac OS X 10.10,python3使用Macports安装.

当我启动交互式python3shell 时,会发生一些非常奇怪的事情.当启动python3并运行任何东西(甚至是非语法命令)时,终端会发生这样的事情

  1. 点击Enter时我看不到任何换行符
  2. 我写的任何内容都不会在输入时显示,但在按Enter键时仍会执行.

bash在关闭shell之后,这个问题在底层shell中持续存在python3(使用例如Ctrl-D).使这甚至"更有趣"的原因是python之后开始常规(顺便说一下版本为2.7),问题解决了 - 终端的行为应该如此.

有没有人看过这个,有什么可能发生的事情的建议,并希望知道解决这个问题的方法?谢谢.

python shell python-3.x

6
推荐指数
1
解决办法
515
查看次数

C++:类成员中的默认值

我在为C++类成员指定默认值时遇到问题.我的代码是:

来自Someclass.h:

class SomeClass
{
public:
    SomeClass();
    ~SomeClass();
    void printOut (bool);
}
Run Code Online (Sandbox Code Playgroud)

...来自SomeClass.cpp:

void SomeClass::printOut(bool foobar=true)
{
    if (foobar) { std::cout << foobar << std::endl; }
}
Run Code Online (Sandbox Code Playgroud)

......最后,来自main.cpp:

int main()
{
    SomeClass s;
    s.printOut();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是这会给出错误消息(gcc):

../main.cpp: In function `int main()':
../main.cpp:8: error: no matching function for call to `SomeClass::printOut()'
../SomeClass.h:18: note: candidates are: void SomeClass::printOut(bool)
subdir.mk:21: recipe for target `main.o' failed
make: *** [main.o] Error 1
Run Code Online (Sandbox Code Playgroud)

我已经尝试将默认值直接指定到头文件中的类声明等.我也尝试过搜索Stack Overflow和Google,但在任何地方都找不到任何解决方案.我究竟做错了什么?

c++ default class member

5
推荐指数
2
解决办法
6066
查看次数

转到 Vim 中光标下的下一个字符

如标题中所述,我想转到 Vim 中当前光标下的字符的下一次出现。我知道f <character>,等等,但我特别想要“这个”字符。我该怎么做呢?

vim editor

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