help

Dave Angel d at davea.name
Wed Jan 30 22:13:54 EST 2013


On 01/30/2013 04:16 PM, aramildaern at gmail.com wrote:
> Hi everyone! I don't mean to intrude, but ive heard great things about this group and ive stumped myself with my python code.
>
> heres my code:
> #! /usr/bin/python
>
> import sys
>
> global labelList
> labelList= dict()
>
> global counter
> counter = 0
>
> def execute(line):
>          if line.find("::print") != -1:
>                  stripPrint = line.find("::print")
>                  startPrint = line.find('"', stripPrint)
>                  stopPrint = line.find('"', startPrint + 1)
>                  printSection = line[startPrint + 1 : stopPrint]
>                  print(printSection)
>
>          if line.find("::label") != -1:
>                  stripLabel = line.find("::label")
>                  startLabel = line.find(' ', stripLabel)
>                  stopLabel = line.find('--', startLabel + 1)
>                  label = line[startLabel + 1 : stopLabel]
>                  line.strip("\r\n")
>                  labelList[label] = counter
>
> if len(sys.argv) < 2:
>          print("error: no input files")
>          print("compilation terminated")
>
> else:
>          fileName = sys.argv[1]
>          jadeFile = open(fileName, 'r')
>
>          for line in jadeFile:
>                  counter = counter + 1
>                  execute(line)
>
>          jadeFile.close()
>
>          i = 0
>
>          while i < len(labelList):
>                  print(labelList.keys()[i], ":", labelList.values()[i])
>                  i = i + 1
>
>
> and its giving me a bunch of errors thanks for the help in advance!
>

davea at think2:~/temppython$ python aram.py
error: no input files
compilation terminated


These messages are triggered by sys.argv being less than 2.  Cure is to 
pass some string as the first argument on the command line.

Fixed that:

davea at think2:~/temppython$ ./aram.py  myfile.txt
Traceback (most recent call last):
   File "./aram.py", line 33, in <module>
     jadeFile = open(fileName, 'r')
IOError: [Errno 2] No such file or directory: 'myfile.txt'

(notice that I pasted the full traceback into this message.)
Problem is that the program is treating that parameter as a filename, 
and I don't have a file by that filename.

davea at think2:~/temppython$ ./aram.py  aram.py
) != -1:
)
('                stripLabel = line.find("::label")', ':', 20)
('!= -1:', ':', 19)

Worked perfectly.  Of course, nobody has said what it's supposed to do. 
  So anything that doesn't display an error must be okay.

How about describing what version of Python this is intended for, how 
you ran it, and what errors you're getting.  Don't paraphrase, don't 
summarize (lots of errors ???!), just copy/paste.

And if it's appropriate, show a sample data file for it to open, not 
attached, but pasted into your email message.

-- 
DaveA



More information about the Python-list mailing list