【发布时间】:2015-11-22 20:42:41
【问题描述】:
您好,我正在尝试将 csv 文件读入数组。该文件称为vector.csv。 由于某种原因,解释器将文件名更改为 x0bector.csv 并且脚本失败。见输出: 例如,如果我将文件名更改为 cords.csv 脚本运行良好。有谁知道这里发生了什么?
# Common Standard Python modules.
import sys
import os
import string
import csv
# Common MineSight Grail modules.
from grail import gsys
from grail.data import geometry
def read_csv(filepath):
f = open(filepath, 'r')
vector = []
csv_f = csv.reader(f)
for row in csv_f:
vector.append(row)
return vector
def get_polylines(geometry):
count = geometry.getpolylinecount()
points = []
for index in range(count):
points.append(geometry.getpolylinepointsat(index))
return points
def run_script():
"""Added the following print statement for testing"""
print "Processing ... OK."
g1 = geometry.Geometry("C:\FrasersSlipReconstruction\Scripts\FRWCrest_Before.msr")
points = get_polylines(g1)
vectors = read_csv("C:\FrasersSlipReconstruction\Scripts\vector.csv")
print vectors
# These two lines ensure that our script will execute the "run_script"
# routine from both MS3D and the command line.
gmain = gsys.GMAIN(run_script, __name__)
gmain.run()
输出:
Python Error (14):
Traceback (most recent call last):
File "[minesight-9.50.05b66813-51]/grail/_script.py", line 136, in gmain
File "[minesight-9.50.05b66813-51]/grail/gsys.py", line 167, in __call__
File "C:\FrasersSlipReconstruction\Scripts\transform.py", line 34, in run_script
vectors = read_csv("C:\FrasersSlipReconstruction\Scripts\vector.csv")
File "C:\FrasersSlipReconstruction\Scripts\transform.py", line 12, in read_csv
f = open(filepath, 'r')
IOError: (22, "invalid mode ('rb') or filename", 'C:\\FrasersSlipReconstruction\\Scripts\x0bector.csv')
【问题讨论】:
标签: python-2.7