小编Ant*_*ala的帖子

Python3 exec,为什么返回None?

当这段文字下面的代码,并返回结果 None 为什么?

with open('exx.py', 'rb') as file:
ff = compile(file.read(), 'exx.py', 'exec')
snip_run = exec(ff, locals())
if 'result' in locals():
    print(snip_run, result)
else:
    print(snip_run)
Run Code Online (Sandbox Code Playgroud)

结果:

777777
None
Run Code Online (Sandbox Code Playgroud)

模块代码 exx.py:

print('777777')
Run Code Online (Sandbox Code Playgroud)

python return exec python-3.x

0
推荐指数
1
解决办法
2281
查看次数

在 Python 中使用串口,​​无需安装外部包

我有以下代码:

import serial
import time

ser = serial.Serial('com4',115200,timeout=1)
while 1:
    time.sleep(10)
    print ser.readline()
Run Code Online (Sandbox Code Playgroud)

我不想使用串行模块并允许在我的代码中只使用标准的 python 模块。

任何快速建议我该怎么做?

python pyserial

0
推荐指数
1
解决办法
1618
查看次数

如何将 volatile 变量传递给 c 中的函数?

我想将以下内容传递给 c 中的函数:

#define GPIO_PORTF_DATA_R (*((volatile unsigned long *)0x400253FC))
Run Code Online (Sandbox Code Playgroud)

以下似乎工作得很好:

void ZeroRegister(unsigned long * _REG) 
{ 
    #define vReg (*((volatile unsigned long *)_REG))
    vReg = 0; 
}
Run Code Online (Sandbox Code Playgroud)

有更好的方法来编码吗?或者我的代码有缺陷?除了它生成的编译器警告之外。

c volatile parameter-passing

0
推荐指数
1
解决办法
2360
查看次数

Python:UnicodeDecodeError:'utf8'编解码器无法解码字节0x91

我正在解析CSV如下:

with open(args.csv, 'rU') as csvfile:
        try:
            reader = csv.DictReader(csvfile, dialect=csv.QUOTE_NONE)
            for row in reader:
            ...
Run Code Online (Sandbox Code Playgroud)

args.csv我的文件名称在哪里.我文件中的一行是一个顶部有两个点的e.遇到这个时我的脚本会中断.

我得到以下堆栈跟踪:

File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 244, in dumps
    return _default_encoder.encode(obj)
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
Run Code Online (Sandbox Code Playgroud)

并出现以下错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0x91 in position 5: invalid start byte
Run Code Online (Sandbox Code Playgroud)

FWIW,我正在运行Python 2.7并且升级不是一个选项(出于几个原因).

我很失落如何解决这个问题所以非常感谢任何帮助.

谢谢!

python csv character-encoding python-2.x

0
推荐指数
1
解决办法
2612
查看次数

为什么解引用指向string(char数组)的指针会返回整个字符串而不是第一个字符?

由于指向数组的指针指向数组的第一个元素(具有相同的地址),我不明白为什么会发生这种情况:

#include <stdio.h>

int main(void) {    
    char (*t)[] = {"test text"};
    printf("%s\n", *t + 1); // prints "est text"
}
Run Code Online (Sandbox Code Playgroud)

另外,为什么打印下面的代码2呢?

#include <stdio.h>

int main(void) {    
    char (*t)[] = {1, 2, 3, 4, 5};
    printf("%d\n", *t + 1); // prints "2"
}
Run Code Online (Sandbox Code Playgroud)

c arrays string pointers pointer-arithmetic

0
推荐指数
1
解决办法
4414
查看次数

如何通过对相关对象进行过滤来获取具有不同项目的SQL Alchemy对象

我正在尝试对相关对象进行以下过滤的不同项目的SQL Alchemy查询,其等效于以下查询:

SELECT distinct items.item_id, items.item_name
FROM items
INNER JOIN categories as cat on items.category_id = cat.category_id
INNER JOIN stores on cat.store_id = stores.store_id
WHERE store.store_id = 123    
Run Code Online (Sandbox Code Playgroud)

我已经创建了以下包含外键的模型,但是当我在下面运行查询时,它不能正确过滤。

items_query = (db.session.query(Store, Item)
               .filter(Store.store_id == 123)
               ).all()



#SQL Alchemy Models 
class Store(db.Model):
    __tablename__ = 'stores'
    store_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    store_name = db.Column(db.String(100), unique=True, nullable=False)

    def __repr__(self):
        return '<Store>'+str(self.store_name)

class Category(db.Model):
    __tablename__ = 'categories'
    category_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    category_name = db.Column(db.String(100), unique=True, nullable=False)
    store_id = db.Column(db.Integer, db.ForeignKey('stores.store_id'))
    store = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy distinct flask-sqlalchemy

0
推荐指数
1
解决办法
8900
查看次数

同一部分的内存是否总是连续分配?

char a_1[512];
int some_variable;
char a_2[512];
main()
{
        ...
}
Run Code Online (Sandbox Code Playgroud)

在上面的程序中,我已经声明了一些变量,都在代码的bss部分.考虑到我已经记住了对齐问题,我可以确定为这3个变量分配的内存总是连续的吗?

c

0
推荐指数
1
解决办法
72
查看次数

这两条线之间有什么区别,MSC v.1900 64 位(AMD64)和 MSC v.1914 32 位(Intel)

(base) C:\Users\Abj>python
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

(base) C:\Users\Abj>py
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
Run Code Online (Sandbox Code Playgroud)

这两条线之间有什么区别,MSC v.1900 64 位(AMD64)和 MSC v.1914 32 位(Intel)

python windows python-3.x

0
推荐指数
1
解决办法
5075
查看次数

asctime - 零日或空间填充的日期?

我有以下程序演示使用asctime.

#include <stdio.h>
#include <time.h>

int main(void) {
    struct tm   broken_down;
    broken_down.tm_year = 2000 - 1900;
    broken_down.tm_mon = 0;
    broken_down.tm_mday = 1;
    broken_down.tm_hour = broken_down.tm_min = broken_down.tm_sec = 0;

    printf("Current date and time: %s", asctime(&broken_down));
}
Run Code Online (Sandbox Code Playgroud)

此程序Current date and time: Sun Jan 1 00:00:00 2000ideone.com打印,即日期字段是空格填充的.

当我使用MSVC编译并运行该程序时,它会在月份的某一天生成前导零的日期字符串:Current date and time: Sun Jan 01 00:00:00 2000.

造成这种差异的原因是什么?哪种格式正确?

c msvcrt time.h visual-c++ language-lawyer

0
推荐指数
1
解决办法
86
查看次数

在 C++ 类中初始化 C 数组

我有一个包含私有 C 数组的 C++ 类,如下所示,

class DataObject {
    private:
        double* data_array_;
};
Run Code Online (Sandbox Code Playgroud)

由于程序中未显示的其他部分的限制,我不能使用 a std::vector<double>,不能使用DataObject构造函数来初始化数组(初始化列表?),并且不想在堆上分配数组。因此,我必须在一个init()函数中初始化数组,该函数将数组元素的数量作为参数。到目前为止,我已经尝试了以下方法,但不幸的是它们似乎不起作用:

尝试 1:

void DataObject::init(unsigned int num_elements) {
    data_array_[num_elements];
}
Run Code Online (Sandbox Code Playgroud)

尝试 2:

void DataObject::init(unsigned int num_elements) {
    data_array_ = double[num_elements];
}
Run Code Online (Sandbox Code Playgroud)

因此,我想知道鉴于上述限制,是否还有另一种方法来初始化堆栈分配的私有 C 数组。

c++ arrays

0
推荐指数
1
解决办法
169
查看次数