texlive插入python代码出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了texlive插入python代码出错相关的知识,希望对你有一定的参考价值。

代码:
\lstsetlanguage = python
\beginlstlisting
import numpy as np
import matplotlib.image as mpimg
import os
from rgb2gray import *
import random
from sklearn.neural_network import MLPClassifier

Dir = "/mnt/win/STUDY/SRTP/OwnCollection/vehicles/Far";
NDir = "/mnt/win/STUDY/SRTP/OwnCollection/non-vehicles/Far";
TestDir = "/mnt/win/STUDY/SRTP/OwnCollection/vehicles/Left"

X_1 = [];
y_1 = [];
cnt_1 = 0;
cnt_0 = 0;
for Img in os.listdir(Dir):
img = mpimg.imread("%s/%s" % (Dir, Img));
img = rgb2gray(img);
img = img.flatten();
X_1.append(img);
y_1.append(1);
cnt_1 += 1;

for Img in os.listdir(NDir):
img = mpimg.imread("%s/%s" % (NDir, Img));
img = rgb2gray(img);
img = img.flatten();
X_1.append(img);
y_1.append(0);
cnt_0 += 1;

X = [];
y = [];
RanInd = range(0, len(X_1));
random.shuffle(RanInd);

for i in RanInd:
X.append(X_1[i]);
y.append(y_1[i]);

clf = MLPClassifier(solver = 'lbfgs', alpha = 1e-5, hidden_layer_sizes = (30,30,30,30,30,30,30,30,30,30), random_state = 1);
clf.fit(X,y);

cnt = 0;
for Img in os.listdir(TestDir):
img = mpimg.imread("%s/%s" % (TestDir, Img));
img = rgb2gray(img);
img = img.flatten();
if clf.predict(img) == 1:
cnt += 1;
print "Sample = %d, vehicles = %d, rate = %f" % (cnt_1, cnt, (cnt+0.0) / cnt_1);
\endlstlisting

在文件开头已经\usepackagelistings
程序报错:!Incomplete \iffalse; all text was ignored after line 37. <inserted text>\fi import

参考技术A 把a\b\c改为:
self.a
self.b
self.c追问

请问您说的是哪里……?

将带有数字键的数据插入 mongodb 时出错(python 字典中的 GPS 数据)

【中文标题】将带有数字键的数据插入 mongodb 时出错(python 字典中的 GPS 数据)【英文标题】:Error when Inserting data with numerical keys into mongodb (GPS data in a python dictionary) 【发布时间】:2020-02-04 01:27:06 【问题描述】:

我正在尝试使用pymongo 将一些图像元数据存储到MongoDB。但是插入时出现错误。

#Data in Dictionary
gps = 'GPSInfo': 1: 'N', 2: ((38, 1), (54, 1), (3540, 100)), 3: 'E', 4: ((1, 1), (26, 1), (1920, 100)), 5: b'\x00', 6: (0, 1), 7: ((11, 1), (7, 1), (47, 1)), 16: 'T', 17: (5338, 65), 29: '2011:09:04'


import pymongo
mng_client = pymongo.MongoClient('localhost', 27017)
mng_db = mng_client['pic_db'] 
collection_name = 'pic_audit_log2' 
db_cm = mng_db[collection_name]


# Insert data from a dictionary
db_cm.remove()
db_cm.insert(gps)

错误

InvalidDocument: documents must have only string keys, key was 1

我是否必须将所有数字字典键更改为字符串? 当我这样做时它会起作用。

d = str(a):str(c):d for c,d in b.items() if isinstance(b,dict) else b for a,b in gps.items()

# Insert data from dictionary
db_cm.remove()
db_cm.insert(d)

还有其他更好的选择吗?

【问题讨论】:

【参考方案1】:

在插入数据时,mongo shell 会为您将整数转换为字符串,但 pymongo 不会。您的解决方法可能与任何解决方法一样好。

【讨论】:

以上是关于texlive插入python代码出错的主要内容,如果未能解决你的问题,请参考以下文章

基于texlive定制chemfig化学式转换Python服务镜像

将带有数字键的数据插入 mongodb 时出错(python 字典中的 GPS 数据)

manjaroo系统配置LaTeX环境(TeXLive)

双向链表在循环python中某个节点结束后插入

Python的空行

我使用 pyinstaller 来打包我的 python 文件。为啥'import pymssql'总是出错