Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

formatted input

0 views
Skip to first unread message

Bob

unread,
Sep 7, 2010, 5:26:11 PM9/7/10
to
Hi All,
I have another question about formatted input. Suppose I am reading a
text file, and that I want it to be something like this

word11 = num11, word12 = num12, word13 = num13 etc...
word21 = num21, word22 = num12, word23 = num23 etc...
etc...

where wordx1 belongs to a certain dictionary of words, say dic1, while
wordx2 belongs to dic2, the numbers within some range and so on. I was
wondering if there is something in the standard library I may use to
check whether the file I am reading has a correct syntax according to
my rules/dictionaries instead of implementing my own routine that
would look like
(pseudocode)
for each line
put words into a list
check condition for each word

Thanks

Diez B. Roggisch

unread,
Sep 7, 2010, 6:03:21 PM9/7/10
to
Bob <roberto....@gmail.com> writes:


No, there is no such thing. Either write something from scratch using
string methods, or use pyparsing which is certainly up to the task (and
much more)

Diez

Kenny Meyer

unread,
Sep 7, 2010, 6:35:44 PM9/7/10
to pytho...@python.org
Bob (roberto....@gmail.com) wrote:
> Hi All,
> I have another question about formatted input. Suppose I am reading a
> text file, and that I want it to be something like this
>
> word11 = num11, word12 = num12, word13 = num13 etc...
> word21 = num21, word22 = num12, word23 = num23 etc...
> etc...
>
> where wordx1 belongs to a certain dictionary of words, say dic1, while
> wordx2 belongs to dic2, the numbers within some range and so on. I was
> wondering if there is something in the standard library I may use to
> check whether the file I am reading has a correct syntax according to
> my rules/dictionaries instead of implementing my own routine that
> would look like

Python's `re` module

> (pseudocode)
> for each line
> put words into a list
> check condition for each word

import re

match_1 = re.compile("^words1")
match_2 = re.compile("^words2")

# Return a match object each
re.match(match_1, "word11")
re.match(match_2, "word21")


I'm sure there are might be other ways to do the same thing.

--
- Kenny Meyer <knny...@gmail.com>
To understand recursion, we must first understand recursion.
--

0 new messages