首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python保存ODB文件:尝试截断只读表时出错

使用Python保存ODB文件:尝试截断只读表时出错
EN

Stack Overflow用户
提问于 2018-05-04 20:40:17
回答 2查看 932关注 0票数 0

我想读取ODB文件,然后添加一个字段,并保存生成的ODB文件。coode非常简单(如下所示)。但是我得到了错误消息: OdbError:数据库保存失败。**尝试截断只读表时出错。

问题可能出在ODB文件中,而不是代码本身。

有没有人知道哪里会出问题?

代码是:

代码语言:javascript
运行
复制
from odbAccess import *
from abaqusConstants import *
from odbMaterial import *
from odbSection import *
from numpy import fabs as fabs
import numpy as np
import sys
import math
import os
import datetime
from types import IntType
print('       Reading ODB    ' ) 
odb = openOdb(path='iog.odb') 
odb.save()
odb.close()
EN

回答 2

Stack Overflow用户

发布于 2018-05-05 00:30:00

如果使用的是odbAccess.openOdb方法,则只有在使用可选参数readOnly=True打开OdbError时,才会出现错误“Odb : Database save fied.* error : Attempt to truncate read only table”。根据我的经验和文档,此方法的默认值是readOnly=False,这意味着您应该能够读写。但是,您可以尝试通过添加可选参数来使其显式,例如:

代码语言:javascript
运行
复制
import odbAccess
odb = odbAccess.openOdb(path="Job-1.odb", readOnly=False)

如果此操作仍然失败,我怀疑文件权限已更改。例如,在Windows中,您可以右键单击.odb文件,选择“属性”,然后查看是否选中了“只读”属性。

票数 0
EN

Stack Overflow用户

发布于 2019-09-27 07:23:17

如果您在CAE中打开与readonly=true相同的文件.odb (选中了框),无论您在代码中如何定义readOnly=false,并一次又一次地重新加载odb,即使您使用命令行而不是运行脚本,错误也会不断出现。

这可以通过在CAE或图形用户界面中关闭相同的命名文件来解决,或者使用readOnly=false重新加载它,并使用readonly=false运行代码(未选中框)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50175188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档