我正在尝试使用 python 创建一个 PETSC 二进制文件。我尝试在 bash shell 上运行脚本,但出现错误
$ python -c 'print file.shape\n import sys,os\n sys.path.append(os.path.join(os.environ['PETSC_DIR'],'bin','pythonscripts'))\nimport PetscBinaryIO\nio=PetscBinaryIO.PetscBinaryIO()\nfile_fortran=file.transpose((2,1,0))\n io.writeBinaryFile('my_geometry.dat',(walls_fortran.rave1()).view(PetscBinaryIO.Vec),))'
Unexpected character after line continuation character.
我知道这是因为额外的\
,但我的代码似乎没有。我尝试使用 python -i 以交互方式运行 python 来查找代码的哪一部分有问题
>>> walls=open('file.dat','r+')
>>> print walls.shape()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'file' object has no attribute 'shape'
我是 python 新手,所以我知道这可能是一个明显的错误。但我似乎不知道这是关于什么的
感谢约翰的回答。现在它识别出 PETSC_DIR 我得到了错误
>>> PETSC_DIR="/home/petsc-3.4.3"
>>> sys.path.append(os.path.join(os.environ["PETSC_DIR"],"bin","pythonscripts"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.6/UserDict.py", line 22, in __getitem__
raise KeyError(key)
KeyError: 'PETSC_DIR'</code>
即使我指定它,它也不识别 PETSC_DIR