title: Python, negative numbers string to float
body: <p>This is a very simple issue but I am making it needlessly complex and continue to hit road blocks. </p>
  
  <p>I am trying to parse a simple text file which contains point cloud information, x, y, z. </p>
  
  <p>It looks like this:</p>
  
  <pre><code>vertices:
  v -543.243 -494.262 1282
  v -538.79 -494.262 1282
  v -536.422 -496.19 1287
  v -531.951 -496.19 1287
  v -527.481 -496.19 1287
  v -213.909 -223.999 581
  v -212.255 -224.384 582
  v -209.15 -223.228 579
  v -207.855 -223.999 581
  v -205.482 -223.613 580
  v -203.468 -223.613 580
  v -201.106 -223.228 579
  v -199.439 -223.613 580
  v -197.765 -223.999 581
  v -195.41 -223.613 580
  v -193.062 -223.228 579
  v -190.721 -222.842 578
  v -189.04 -223.228 579
  v -187.998 -224.384 582
  v -185.976 -224.384 582
  v -183.955 -224.384 582
  v -181.621 -223.999 581
  v -179.293 -223.613 580
  v -177.279 -223.613 580
  v -175.264 -223.613 580
  v -173.549 -223.999 581
  v -171.531 -223.999 581
  v -169.513 -223.999 581
  v -167.495 -223.999 581
  v -165.761 -224.384 582
  v -163.74 -224.384 582
  v -161.718 -224.384 582
  v -159.697 -224.384 582
  v -157.946 -224.77 583
  v -155.921 -224.77 583
  v -153.896 -224.77 583
  v -151.871 -224.77 583
  v -149.847 -224.77 583
  v -147.568 -224.384 582
  </code></pre>
  
  <p>Right okay. Not so bad. </p>
  
  <p>Next I am using python in blender to convert these points into vertices:</p>
  
  <p>It looks like so: `</p>
  
  <pre><code>    #Open the file
  try:
      f=open(path, 'r')
  except:
      print ("Path is not Valid")
  
  
  #Create an array of 
  verts = []
  #verts=[float(e) for e in verts if e]
  #values = []
  
  for line in f:
      lines = f.readline() 
      #values = ([c for c in lines if c in '-1234567890.'])
      if line.startswith("v "): #Go through file line by line
          read = lines.strip(' v\n').split(',') #remove the v,split@, 
              #read = values.split(',')
          #loop over all stuff in read, remove non-numerics
          for d in read:
              d= d.strip('-').split(' ')
              print("d:", (d))
              for n in d:
                  n = n.strip('-')
                  verts = verts.append(float(n[0]))
                  #verts = verts.append(float(n[2]))
                  #verts = verts.append(float(n[3]))
                  print("vertsloops", d[0])
              print("read1", read[0])
              print(read)
              print("oo1verts", verts)
               ##################
               #Extend the array# 
               #print ("Could not use the line reading: %s"%read)
  
  
  # Create a new mesh, it is now empty
  mesh = bpy.data.meshes.new("Cube")
  # Create empty vertices field in the mesh
  mesh.vertices.add(len(verts))
  # Add vertices
  mesh.vertices.foreach_set("co", verts)
  
  
  #Add a new empty object named "Read the PointCloud Data"
  obj = bpy.data.objects.new("Read the PointCloud Data", mesh)
  # Link object to current scene
  bpy.context.scene.objects.link(obj)
  `
  </code></pre>
  
  <p>Somehow, I have tried many different combinations of splitting the string, but still getting errors. I know this is a simple task!?! Any Advice please!</p>
  
  <p>The errors I get look at first like:</p>
  
  <pre><code>d: ['-536.422', '-496.19', '1287']
  Traceback (most recent call last):
    File "/Users/.../importpoints.blend/importpoints", line 37, in &lt;module&gt;
  ValueError: could not convert string to float: '-'
  Error: Python script fail, look in the console for now...
  </code></pre>
  
  <p>And Then like so :</p>
  
  <pre><code>d: ['536.422', '-496.19', '1287']
  vertsloops 536.422
  Traceback (most recent call last):
    File "/Users/.../importpoints.blend/importpoints", line 37, in &lt;module&gt;
  AttributeError: 'NoneType' object has no attribute 'append'
  Error: Python script fail, look in the console for now...
  </code></pre>
  
  <p>One thing is, how come float('-531') won't be handled as a negative number. As it stands, it hits the '-' sting and considers it non-numeric so it cannot convert it. But its negative, so how can I indicate that???</p>
  
  <p>Thanks.</p>