python进行abaqus后处理的二次开发,我想提取odb文件中的nodeSet,结果总提示Keyerror,请各位大神指教。_百度知道
python进行abaqus后处理的二次开发,我想提取odb文件中的nodeSet,结果总提示Keyerror,请各位大神指教。
nodeSets['SHELL-1'语句是从参考书上复制的,结果就是不对,是版本的问题吗?错误语句如下.rootAHOLE':nodeFace = odb.instances[']
提问者采纳
])print odb。很可能是shell-1不存在或者是hole不存在啊.rootAssembly.rootASHELL-1'.rootAssembly.instances.keys()print dir(odb.nodeSets。你没有这个数据文件;].instances['.keys()这样就知道缺少什么了;SHELL-1'。书上的例子需要一个例子对应的计算数据.instances['你可以尝试一下dirprint dir(odb.instances)print odb.rootAssembly
谢谢!那为什么下面程序运行总是0,是不是abaqus语法改了?center是已定义点集。displacement是定义位移输出centerDisplacement = displacement.getSubset(region=center)for v in centerDisplacement.values:
print 'X方向位移:', v.data[0]
抱歉,我对abaqus不熟悉。不过我只是凭感觉给你出可能无用的提示。 如果输出结果为零不合理,那么应该是输入的数据有问题,或者是使用方法有问题。 你试着采用更大的数据量,也许是少了一些条件。我在他们网站上没有找到一个DEMO。如果你能够搜索到。找一个例子试试看。 这种专业软件通常都比较难学。资料少,教程少,文档不一致。
提问者评价
谢谢!我再学习下
来自团队:
其他类似问题
为您推荐:
python的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁python 编程小白 ,不会用doctest 请大神指教怎么用!!_百度知道
python 编程小白 ,不会用doctest 请大神指教怎么用!!
compare(5;_main_',7)
compare (2,4)
compare (7def compare(x,y):
return -1 if _name_==':
elif x==y;":
import doctest
提问者采纳
不过你这样写法不能被doctest识别,7)
compare (2,3)
import doctest
doctest,3)E compare (2;&>:
compare(2;",3)
-1这些你写在引号之间的帮助信息;>:
__main__1 items passed all tests,7)Expecting。还有是testmod();&.py -v就会输出T":
compare(5,你拼错了.Test passed:
1okT,y),你应该在每个测试的例子前面加上>:
else ,写在函数里面是函数的帮助文档,4)E>,你用help(compare)查看这个函数就会输出compare(x.testmod()这样运行&__main__':
elif x==y;&y;& compare(5;
if x>, y)
compare(5,所以正确的写法是def compare(x,7)
return -1if __name__==',4)
3 tests in __main__,4)
compare (7.3 passed and 0 failed:
-1ok1 compare (7.compare3 tests in 2 items:
compare (7三个引号是python里面一种字符串
其他类似问题
为您推荐:
其他1条回答
;passed&'&Falseok1 .::&failed,9).& ..testmod(verbose=True);'&& ..Trying:&&higher;>.& ,9);&&&>.;lower&passed&doctest.. .;&&&is_between(5:&&>,1,9)Eof&True;&no ,&had&&&tests&&items&in .,&&.;&&>..&'tests .,1; .&示例代码贴给你;all&& .&return .is_between2&&&'.;&&&&__main__' .;&&&__main__1&&__name__==': ,3;&higher);&&& ,9)E .&&if .;&'is_between(3:&'..;&in&&&is_between(3;&&; :;&2&&&is_between(v;__main__,3.&attempted=2)&and&&False;doctest;&&& .,希望对你能有帮助另外doctest对已知的预期结果进行测试是非常方便的; .;is_between(5;&v&demo&TrueokT2 .:& .&import& .TestResults(failed=0;& . ..Test&& .2&>,有不明白的可以追加提问;0&& ., .;items&def&>
三个双引号之间需要填写什么? 引号后需要填写什么?
你的例子我懂了 但是运用到我的方程里时应该怎么写?
我的方程说是语法错误
不明白哪里错了
你的那个if __name__ == '__main__':这里有问题吧。。。看好了,那个是双下划线,你写的是但下划线吧
python的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁python如何把List里的不同数字相加成一个数字比方说sum_elems([1,2,3,4,5]) => 15 要用for loop做.
def sum_elems(a):sum = 0for i in a:sum += ireturn sum
为您推荐:
其他类似问题
扫描下载二维码这段python代码有问题,请大神帮我看下_百度知道
这段python代码有问题,请大神帮我看下
get() argument after * must be a sequence:
while True.get())
for a in xrange(5):D.run()
File &threading.start()if __name__ == ":
thread.Queue()
for a in xrange(100)::
global myqueue
myqueue=Queue.__kwargs)TypeError:\.py"?.append(Thread(target=get.empty()==Fpython2;; %(__main__".__args.setDaemon(True)
a:D, not int该怎么改:
print 'software\, line 763, line 810;python2.7;lib\, in run
self: %s'.4\.7.append(str(a+1))
for a in list.py&Thread %d , **self:\:
breakdef main();threading.4\.__target(*, myqueue.put(a)
-------------------------------------------------------------------------Traceback (most recent call last);lib\software\, args=(a+1)))
for a in thread, in __bootstrap_inner
File "import Queuefrom threading import Threaddef get(nums)
提问者采纳
hread.append(Thread(target=get, args=(a+1,)))加个逗号表示这是一个元素的列表
提问者评价
来自团队:
其他类似问题
为您推荐:
python的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}