在尝试更新文档时,我收到了该字段的上述错误timesToDisplay.
MongoDB版本2.6.7.
整个型号:
msg = {
'name': '',
'template': '',
'displayDurInMilliSec': 0,
'timesToDisplay': [],
'images': [],
'texts': [],
'screen': []
}
Run Code Online (Sandbox Code Playgroud)
我想我将与其他3个数组字段获得相同的错误.
我尝试过使用$set但是得到同样的错误.
代码:
function updateMessage(msg) {
var conditions = {_id: msg._id}
, update = { 'name': msg.name,
'template': msg.template,
'displayDurInMilliSec': msg.displayDurInMilliSec,
'timesToDisplay': msg.timesToDisplay,
'images': msg.images,
'texts': msg.texts,
'screen': msg.screen
}
messageModel.update(conditions, update, callback);
function callback(err, numAffected) {
if (!err) console.log(numAffected)
else console.log(err)
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:该msg参数本身的文件:
{ _id: '557d58abd54955480db6694f',
name: 'msg99',
timesToDisplay: [ …Run Code Online (Sandbox Code Playgroud) 所以我想在查询中使用for循环,如果记录的字段等于对象的属性(在对象列表中),则拉取结果我该怎么做?这是我的代码:
you = session.query(Users).filter_by(id=login_session['userid']).first()
friends = session.query(Friends).filter_by(user_id=login_session['userid']).all()
dashboard = session.query(Markers).filter(Markers.owner == f.friend_id for f in friends).all()
Run Code Online (Sandbox Code Playgroud)
但后来我得到了这个:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1360, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1344, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/pearadox6/travellr/app.py", line 423, in feed
dashboard = session.query(Markers).filter(Markers.owner == f.friend_id for f in friends).all()
File "<string>", line 1, in <lambda>
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", …Run Code Online (Sandbox Code Playgroud) My code looks like this:
parser.add_argument('-i', '--input', help='Input path/to/file.csv', required=True)
parser.add_argument('-oh', '--output-html', help='Output path/to/confusion_matrix.html', required=True)
parser.add_argument('-oc', '--output-csv', help='Output path/to/confusion_matrix.csv', required=True)
args = parser.parse_args()
....
y_true = pd.Series(true_data, name="Actual")
y_pred = pd.Series(pred_data, name="Predicted")
df_confusion = pd.crosstab(y_true, y_pred)
df_confusion.to_html(args.output-html)
df_confusion.to_csv(args.output-csv)
Run Code Online (Sandbox Code Playgroud)
When i try to run it, it gives me this error:
df_confusion.to_html(args.output-html)
AttributeError: 'Namespace' object has no attribute 'output'
Run Code Online (Sandbox Code Playgroud)
However, if i change from
df_confusion.to_html(args.output-html)
Run Code Online (Sandbox Code Playgroud)
To
df_confusion.to_html(args.output)
Run Code Online (Sandbox Code Playgroud)
It works as it should. Can anyone explain why it doesn't work, and how can …
我们都知道'可怕的可变默认参数'
我惊讶地发现至少有一个使用可变默认参数的内置函数deepcopy(和相关的__deepcopy__).
def deepcopy(x, memo=None, _nil=[]):
这只是模块作者的一个忽视,还是有一些特殊deepcopy的行为证明了这一点?
我正在尝试使用以下所有nan值中的第一个先前的可用值来替换DataFrame中的nan值。
在下面的示例中:
import pandas as pd
df = [100, None, None, 40, None, 120]
df = pd.DataFrame(df)
Run Code Online (Sandbox Code Playgroud)
我想得到:
[33.33, 33.33, 33.33, 20, 20, 120]
Run Code Online (Sandbox Code Playgroud)
如果我可以找到一种方法来对列中每个值之后的nan值进行计数,那么我可以运行一些计算来实现拆分。
我摆弄周围怎样才能获得False从
print(datetime.now() == datetime.now())
Run Code Online (Sandbox Code Playgroud)
我想在每台“现代” /足够快的计算机上都是这样True。
但是,我注意到了一些奇怪的地方:
print(id(datetime.now()) == id(datetime.now()))
Run Code Online (Sandbox Code Playgroud)
将不断输出True,这使我相信datetime对象(可能只是由创建的对象.now())会自动缓存在某个地方。
然后,我又进行了一些修改,想出了这个宝石:
def get_now():
now = datetime.now()
print(id(now))
return now
print(get_now() == get_now())
exit()
Run Code Online (Sandbox Code Playgroud)
现在,我们获得了不同的ID,并且输出是恒定的False,好像get_now两次调用的开销足以使缓存机制了解更改的时间并需要创建一个新的对象。
我四处查看datetime.py,找不到任何能解释这种行为的东西,所以我想(如果它存在的话)是在C级实现的。
官方datetime文档上根本没有提到“缓存”(或它的任何共轭词)。
当我的程序找不到要查找的元素时,发生异常,我想在CSV中记录事件,显示一条消息,指出发生错误并继续。我已成功将事件记录到CSV中并显示消息,然后程序跳出循环并停止。我如何指示python继续。请检查我的代码。
sites = ['TCF00670','TCF00671','TCF00672','TCF00674','TCF00675','TCF00676','TCF00677']`
with open('list4.csv','wb') as f:
writer = csv.writer(f)
try:
for s in sites:
adrs = "http://turnpikeshoes.com/shop/" + str(s)
driver = webdriver.PhantomJS()
driver.get(adrs)
time.sleep(5)
LongDsc = driver.find_element_by_class_name("productLongDescription").text
print "Working.." + str(s)
writer.writerows([[LongDsc]])
except:
writer.writerows(['Error'])
print ("Error Logged..")
pass
driver.quit()
print "Complete."
Run Code Online (Sandbox Code Playgroud) 我想过滤条件是否存在键,如果它是真的。有没有办法使这个过程更短,更有效?
d = {'x': True}
if 'x' in d and d['x']:
print('good')
Run Code Online (Sandbox Code Playgroud) 我有以下使用 MultipartUpload 上传 s3 的代码。
import logging
import boto3
class UploadS3:
def __init__(self, bucket, prefix):
self.s3 = boto3.resource('s3')
self.bucket = bucket
self.prefix = prefix
def start(self, key):
'''Start to upload a new file'''
self.part_no = 1
self.parts = []
key_path = f'{self.prefix}/{key}'
self.s3obj = self.s3.Object(self.bucket, key_path)
self.mpu = self.s3obj.initiate_multipart_upload()
self.buffer = bytearray()
def upload(self, chunk):
'''Upload a chunk'''
if len(self.buffer) >= 5_000_000:
self._upload_buffer()
self.buffer += chunk
def end(self, part_info={}):
if len(self.buffer):
self._upload_buffer()
part_info['Parts'] = self.parts
mpu_result = self.mpu.complete(MultipartUpload=part_info)
logging.info(f'Upload result: …Run Code Online (Sandbox Code Playgroud) 我正在使用该emails库发送邮件,但我还需要将其另存为.msg文件。我做了一些研究,还阅读了 msg 格式规范,偶然发现了这个 SO 答案,它显示了如何将邮件发送到文件系统C#,我想知道它是否也可以在 Python 中使用。
python ×9
amazon-s3 ×1
csv ×1
dataframe ×1
datetime ×1
email ×1
mongodb ×1
pandas ×1
postgresql ×1
sqlalchemy ×1