Re: [Tutor] Is Python useful for emulating?

2010-11-28 Thread Luke Paireepinart
It probably won't be fast enough. I wrote an NES emu in python and I ran into a 
lot of performance issues.

If you're new to emu scene, start with David winters' doc and write a chip-8 
emu. I will help you learn the structure and process of writing an emulator. 
Then reimplememt it in c afterward. I'm actually in th midst of writing an 
introductory emulation ebook that follows a similar course.

Another consideration that I will explore myself is languages like rpython or 
Pyrex that are similar to python but can be compiled down for speed. Might be 
worth a look for you too.

Good luck, and if you need any mentorship or have any questions about starting 
out writing emulators just drop me a line!


-
Sent from a mobile device with a bad e-mail client.
-

On Nov 27, 2010, at 8:59 PM, Mauricio Alejandro  
wrote:

> I never created any emulator before, and i'm learning C++. Let's say i try to 
> write an emulator for... SNES. Would Python be fast enough?
> Also, any useful advice you can give me? Things i should know about before i 
> start coding?
>  
> ___
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Is Python useful for emulating?

2010-11-28 Thread Stefan Behnel

Mauricio Alejandro, 28.11.2010 03:59:

I never created any emulator before, and i'm learning C++. Let's say i try to 
write an emulator for... SNES. Would Python be fast enough?
Also, any useful advice you can give me? Things i should know about before i 
start coding?


If you want to write something like this from scratch, I would suggest you 
look at two tools: pygame and Cython.


pygame is a very useful tool for writing graphics games. Cython is a way to 
speed up performance critical Python code by translating it to fast C code. 
You shouldn't run into that many performance problems if you use both, but 
you'd likely be able to write your code a lot quicker than in C or C++.


One important advice: write your code in Python first, then benchmark it 
and move only the performance critical parts of it into Cython. The higher 
level you stay, the simpler your code will remain.


Stefan

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] string case manipulation in python 3.x

2010-11-28 Thread Steven D'Aprano

Rance Hall wrote:

I need to do some case manipulation that I don't see in the documented
string functions.

I want to make sure that user input meets a certain capitalization
scheme, for example, if user input is a name, then the first letter of
each word in the name is upper case, and the rest are lower.

I know how to force the upper and lower cases with string.lower() and friends.


Then you should know about str.capitalize and str.title:

>>> s = "joHN clEeSE"
>>> s.capitalize()
'John cleese'
>>> s.title()
'John Cleese'

It looks like you want str.title, with the exception that numeric 
suffixes will need to be handled specially:


>>> "fred smith III".title()
'Fred Smith Iii'

But see below.



and I could even do a string.split() on the spaces in the names to
break the name into pieces.

I don't see an obvious way to do this.

what I've come up with so far is to do something like this.

break the name into pieces
force each piece to be lower case
replace the first letter in each word with a uppercase version of
whats there already.

Problems with this approach as I see them:
The built in split function will create undesirable results for names
that contain suffixes like Jr.  etc.


Why? I don't see how it would, unless people leave out the space between 
their name and suffix. But then, if they leave out the space between 
their first name and surname, you have the same problem.




I'm not entirely sure how to replace the string with an uppercase
first letter on a per word basis.


The right way is with the capitalize or title methods, but the generic 
way is illustrated by this similar function:


def reverse_capitalize(s):
# "abcd" -> "aBCD"
if s:
return s[0].lower() + s[1:].upper()
else:  # empty string
return s


Which brings back to the issue of Roman number suffixes. You can deal 
with them like this:


def capitalize(s):
s = s.title()
words = s.split()
suffixes = 'ii iii iv v vi vii viii ix x xi xii'.split()
# Twelve generations should be enough. If not, add more.
if words[-1].lower() in suffixes:
words[-1] = words[-1].upper()
return " ".join(words)
return s



Whats the "right" way to do something like this?


Another approach would be the old-fashioned way: change the string 
character by character.


# change in place
letters = list(name)
for i, c in letters:
letters[i] = do_something_with(c)
name = ''.join(letters)



--
Steven
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Pyserial and invalid handle

2010-11-28 Thread John Smith


Can anybody tell me why the handle below is invalid? I'm running Win7.

TIA,
John


Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit 
(AMD64)] on win32

Type "copyright", "credits" or "license()" for more information.

>>> import serial
>>> ser = serial.Serial('com1', timeout = 5)
>>> x = ser.read()

Traceback (most recent call last):
  File "", line 1, in 
x = ser.read()
  File "E:\Python27\lib\site-packages\serial\serialwin32.py", line 236, 
in read

raise SerialException("ReadFile failed (%s)" % ctypes.WinError())
SerialException: ReadFile failed ([Error 6] The handle is invalid.)
>>>
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] A regular expression problem

2010-11-28 Thread Josep M. Fontana
I'm trying to use regular expressions to extract strings that match
certain patterns in a collection of texts. Basically these texts are
edited versions of medieval manuscripts that use certain symbols to
mark information that is useful for filologists.

I'm interested in isolating words that have some non alpha-numeric
symbol attached to the beginning or the end of the word or inserted in
them. Here are some examples:

'¿de' ,'«orden', '§Don', '·II·', 'que·l', 'Rey»'

I'm using some modules from a package called NLTK but I think my
problem is related to some misunderstanding of how regular expressions
work.

Here's what I do. This was just a first attempt to get strings
starting with a non alpha-numeric symbol. If this had worked, I would
have continued to build the regular expression to get words with non
alpha-numeric symbols in the middle and in the end. Alas, even this
first attempt didn't work.

-
with open('output_tokens.txt', 'a') as out_tokens:
with open('text.txt', 'r') as in_tokens:
t = RegexpTokenizer('[^a-zA-Z\s0-9]+\w+\S')
output = t.tokenize(in_tokens.read())
for item in output:
out_tokens.write(" %s" % (item))



What puzzles me is that I get some results that don't make much sense
given the regular expression. Here's some excerpt from the text I'm
processing:

---
"

%Pág. 87
&L-[LIBRO VII. DE OÉRSINO]&L+ &//
§Comeza el ·VII· libro, que es de Oérsino las bístias. &//
 §Canto Félix ha tomado prenda del phisoloffo, el […] ·II· hómnes, e ellos"



Here's the relevant part of the output file ('output_tokens.txt'):

--
 " http://mail.python.org/mailman/listinfo/tutor


[Tutor] temporarily modifying sys.path

2010-11-28 Thread Tim Johnson
I need a function that will import a module (using __import__) from
only one specific location on my filesystem. Name collisions are
possible. To avoid this I could *temporarily* modify sys.path for
the operation so that it contains only the path that I want
to work from.

console example:
>>> sys_path = sys.path
>>> sys.path = ["/cgi-bin/libraries/python"]
>>> sys.path
['/cgi-bin/libraries/python']
>>> sys.path = sys_path
>>> sys.path
## original sys.path

I don't want to create something that could bite me later.
Documentation on sys.path that I have found does not address
*removing* items from sys.path or completely changing it.

Any caveats or comments on this procedure? 
TIA
-- 
Tim 
tim at johnsons-web.com or akwebsoft.com
http://www.akwebsoft.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] temporarily modifying sys.path

2010-11-28 Thread Evert Rol
> I need a function that will import a module (using __import__) from
> only one specific location on my filesystem. Name collisions are
> possible. To avoid this I could *temporarily* modify sys.path for
> the operation so that it contains only the path that I want
> to work from.

Just curious, but could the imp module help you? imp.find_module appears to 
look on a specific path if you specify it, and it seems you have the path 
available here. From there imp.load_module perhaps.
I have very little experience with imp, but I'm wondering if it could help you 
without the necessity of modifying sys.path.

Though I do think you can temporarily make a copy of sys.path, then modify 
sys.path, then after the import reassign sys.path to your temp variable. But 
try the above route first.

  Evert


> console example:
 sys_path = sys.path
 sys.path = ["/cgi-bin/libraries/python"]
 sys.path
> ['/cgi-bin/libraries/python']
 sys.path = sys_path
 sys.path
> ## original sys.path
> 
> I don't want to create something that could bite me later.
> Documentation on sys.path that I have found does not address
> *removing* items from sys.path or completely changing it.
> 
> Any caveats or comments on this procedure? 
> TIA
> -- 
> Tim 
> tim at johnsons-web.com or akwebsoft.com
> http://www.akwebsoft.com
> ___
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Pyserial and invalid handle

2010-11-28 Thread Emile van Sebille

On 11/28/2010 7:55 AM John Smith said...


Can anybody tell me why the handle below is invalid? I'm running Win7.

TIA,
John


Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)]
on win32
Type "copyright", "credits" or "license()" for more information.

 >>> import serial
 >>> ser = serial.Serial('com1', timeout = 5)


What do you get when you add 'print ser' here?  The docs at 
http://pyserial.sourceforge.net/shortintro.html show you should get 
something like


Serial(port='COM1', baudrate=19200, bytesize=8, 
parity='N', stopbits=1, timeout=None, xonxoff=0, rtscts=0)


So if you're getting an invalid handle error I'd expect you'd get 
something different.


Emile



 >>> x = ser.read()

Traceback (most recent call last):
File "", line 1, in 
x = ser.read()
File "E:\Python27\lib\site-packages\serial\serialwin32.py", line 236, in
read
raise SerialException("ReadFile failed (%s)" % ctypes.WinError())
SerialException: ReadFile failed ([Error 6] The handle is invalid.)
 >>>
___
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor




___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] A regular expression problem

2010-11-28 Thread Evert Rol


> Here's what I do. This was just a first attempt to get strings
> starting with a non alpha-numeric symbol. If this had worked, I would
> have continued to build the regular expression to get words with non
> alpha-numeric symbols in the middle and in the end. Alas, even this
> first attempt didn't work.
> 
> -
> with open('output_tokens.txt', 'a') as out_tokens:
>with open('text.txt', 'r') as in_tokens:
>t = RegexpTokenizer('[^a-zA-Z\s0-9]+\w+\S')
>output = t.tokenize(in_tokens.read())
>for item in output:
>out_tokens.write(" %s" % (item))
> 
> 
> 
> What puzzles me is that I get some results that don't make much sense
> given the regular expression. Here's some excerpt from the text I'm
> processing:
> 
> ---
> "
> 
> %Pág. 87
> &L-[LIBRO VII. DE OÉRSINO]&L+ &//
> §Comeza el ·VII· libro, que es de Oérsino las bístias. &//
> §Canto Félix ha tomado prenda del phisoloffo, el […] ·II· hómnes, e ellos"
> 
> 
> 
> Here's the relevant part of the output file ('output_tokens.txt'):
> 
> --
> "  §Comenza ·VII· ístias. §Canto élix ·II· ómnes"
> ---
> 
> If you notice, there are some words that have an accented character
> that get treated in a strange way: all the characters that don't have
> a tilde get deleted and the accented character behaves as if it were a
> non alpha-numeric symbol.
> 
> What is going on? What am I doing wrong?


I don't know for sure, but I would hazard a guess that you didn't specify 
unicode for the regular expression: character classes like \w and \s are 
dependent on your LOCALE settings. 
A flag like re.UNICODE could help, but I don't know if Regexptokenizer accepts 
that.
It would also appear that you could get a long way with the builtin re.split 
function, and supply the flag inside that function; no need then or 
Regexptokenizer. Your tokenizer just appears to split on the tokens you specify.

Lastly, an output convenience:
output.write(' '.join(list(output)))
instead of the for-loop.
(I'm casting output to a list here, since I don't know whether output is a list 
or an iterator.)

Let us know how if UNICODE (or other LOCALE settings) can solve your problem.

Cheers,

  Evert


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] A regular expression problem

2010-11-28 Thread Steven D'Aprano

Josep M. Fontana wrote:

I'm trying to use regular expressions to extract strings that match
certain patterns in a collection of texts. Basically these texts are
edited versions of medieval manuscripts that use certain symbols to
mark information that is useful for filologists.

I'm interested in isolating words that have some non alpha-numeric
symbol attached to the beginning or the end of the word or inserted in
them. Here are some examples:

'¿de' ,'«orden', '§Don', '·II·', 'que·l', 'Rey»'


Have you considered just using the isalnum() method?

>>> '¿de'.isalnum()
False

You will have to split your source text into individual words, then 
isolate those where word.isalnum() returns False.




I'm using some modules from a package called NLTK but I think my
problem is related to some misunderstanding of how regular expressions
work.


The first thing to do is to isolate the cause of the problem. In your 
code below, you do four different things. In no particular order:


1 open and read an input file;
2 open and write an output file;
3 create a mysterious "RegexpTokenizer" object, whatever that is;
4 tokenize the input.

We can't run your code because:

1 we don't have access to your input file;
2 most of us don't have the NLTK package;
3 we don't know what RegexTokenizer does;
4 we don't know what tokenizing does.

Makes it hard to solve the problem for you, although I'm willing to make 
a few wild guesses (see below).


The most important debugging skill you can learn is to narrow the 
problem down to the smallest possible piece of code that gives you the 
wrong answer. This will help you solve the problem yourself, and it will 
also help others help you. Can you demonstrate the problem in a couple 
of lines of code that doesn't rely on external files, packages, or other 
code we don't have?




Here's what I do. This was just a first attempt to get strings
starting with a non alpha-numeric symbol. If this had worked, I would
have continued to build the regular expression to get words with non
alpha-numeric symbols in the middle and in the end. Alas, even this
first attempt didn't work.

-
with open('output_tokens.txt', 'a') as out_tokens:
with open('text.txt', 'r') as in_tokens:
t = RegexpTokenizer('[^a-zA-Z\s0-9]+\w+\S')
output = t.tokenize(in_tokens.read())
for item in output:
out_tokens.write(" %s" % (item))


Firstly, it's best practice to write regexes as "raw strings" by 
preceding them with an r. Instead of


'[^a-zA-Z\s0-9]+\w+\S'

you should write:

r'[^a-zA-Z\s0-9]+\w+\S'

Notice that the r is part of the delimiter (r' and ') and not the 
contents. This instructs Python to ignore the special meaning of 
backslashes. In this specific case, it won't make any difference, but it 
will make a big difference in other regexes.


Your regex says to match:

- one or more characters that aren't letters a...z (in either
  case), space or any digit (note that this is *not* the same as
  characters that aren't alphanum);

- followed by one or more alphanum character;

- followed by exactly one character that is not whitespace.

I'm guessing the "not whitespace" is troublesome -- it will match 
characters like ¿ because it isn't whitespace.



I'd try this:

# untested
\b.*?\W.*?\b

which should match any word with a non-alphanumeric character in it:

- \b ... \b matches the start and end of the word;

- .*? matches zero or more characters (as few as possible);

- \W matches a single non-alphanumeric character.

So putting it all together, that should match a word with at least one 
non-alphanumeric character in it.


(Caution: if you try this, you *must* use a raw string, otherwise you 
will get completely wrong results.)




What puzzles me is that I get some results that don't make much sense
given the regular expression.


Well, I don't know how RegexTokenizer is supposed to work, so anything I 
say will be guesswork :)



[...]

If you notice, there are some words that have an accented character
that get treated in a strange way: all the characters that don't have
a tilde get deleted and the accented character behaves as if it were a
non alpha-numeric symbol.


Your regex matches if the first character isn't a space, a digit, or a 
a-zA-Z. Accented characters aren't a-z or A-Z, and therefore will match.




--
Steven

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Pyserial and invalid handle

2010-11-28 Thread John Smith


On 11/28/2010 10:57 AM, Emile van Sebille wrote:

On 11/28/2010 7:55 AM John Smith said...


Can anybody tell me why the handle below is invalid? I'm running Win7.

TIA,
John


Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)]
on win32
Type "copyright", "credits" or "license()" for more information.

>>> import serial
>>> ser = serial.Serial('com1', timeout = 5)


What do you get when you add 'print ser' here? The docs at
http://pyserial.sourceforge.net/shortintro.html show you should get
something like

Serial(port='COM1', baudrate=19200, bytesize=8,
parity='N', stopbits=1, timeout=None, xonxoff=0, rtscts=0)

So if you're getting an invalid handle error I'd expect you'd get
something different.

Emile


Hi, Emile -

Okay. Here it is:

>>> print ser
Serial(port='COM1', baudrate=9600, bytesize=8, 
parity='N', stopbits=1, timeout=5, xonxoff=False, rtscts=False, 
dsrdtr=False)

>>>

Thanks.
John
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] temporarily modifying sys.path

2010-11-28 Thread Tim Johnson
* Evert Rol  [101128 07:56]:
> > I need a function that will import a module (using __import__) from
> > only one specific location on my filesystem. Name collisions are
> > possible. To avoid this I could *temporarily* modify sys.path for
> > the operation so that it contains only the path that I want
> > to work from.
 
> Just curious, but could the imp module help you? imp.find_module
> appears to look on a specific path if you specify it, and it seems
> you have the path available here. From there imp.load_module
> perhaps.  I have very little experience with imp, but I'm
> wondering if it could help you without the necessity of modifying
> sys.path.
 
> Though I do think you can temporarily make a copy of sys.path,
> then modify sys.path, then after the import reassign sys.path to
> your temp variable. But try the above route first.
  I'll be darned. I never even heard of that module, but I just
  did an import and looked at the docs. I *will* give that a try.
  Thanks for the tip!
  cheers
-- 
Tim 
tim at johnsons-web.com or akwebsoft.com
http://www.akwebsoft.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] temporarily modifying sys.path

2010-11-28 Thread Alan Gauld


"Tim Johnson"  wrote


Just curious, but could the imp module help you? imp.find_module



 I'll be darned. I never even heard of that module, but I just
 did an import and looked at the docs. I *will* give that a try.


I think its new in Python v3...

Compare my recent post about reload() - now a part of imp...

Alan G.


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] REport Card Question

2010-11-28 Thread Andre Jeyarajan
Write a code that will take an input from a user (numerical grade) and convert 
their numerical grade into a letter grade that is accompanied by a “smart” 
statement. def grade_score(grade):
    if grade >=95 and grade <= 100: 
        print 'A+, Excellent' 
    elif grade >=85 and grade < 95:
        print 'A, Good Work'
    elif grade >=80 and grade < 85:
        print 'A-, Good Work, but you could do better'
    elif grade >=75 and grade < 80:
        print 'B, Try Harder'
    elif grade >=70 and grade < 75:
        print 'B-, Try Harder'
    elif grade >=65 and grade < 70: 
        print 'C, Work Harder'
    elif grade >=60 and grade < 65:
        print 'C-, Work Harder' 
    elif grade >=55 and grade < 60:
        print 'D, Study Harder'
    elif grade >=50 and grade < 55:
        print 'D-, Study Harder'
    elif grade >=0 and grade < 50:
        print 'F, You Failed'
    else: 
        print "You did not enter an appropriate value, please run the program 
again!" 


grade = raw_input('Put your grade here:’)


grade_score()
Put your grade here:77
Traceback (most recent call last):
  File "/Users/andre.jeyarajan/Documents/workspace/Chapter 5 
Problems/src/ReportCardQuestion.py", line 28, in 
    grade_score()
TypeError: grade_score() takes exactly 1 argument (0 given)
Can you help and tell me why it doesn’t work?
Thanks___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] REport Card Question

2010-11-28 Thread Wayne Werner
On Sun, Nov 28, 2010 at 6:50 PM, Andre Jeyarajan
wrote:

>  Write a code that will take an input from a user (numerical grade) and
> convert their numerical grade into a letter grade that is accompanied by a
> “smart” statement.
>
>  def grade_score(grade):
>
> if grade >=95 and grade <= 100:
>
> print 'A+, Excellent'
>
> elif grade >=85 and grade < 95:
>
> print 'A, Good Work'
>
> elif grade >=80 and grade < 85:
>
> print 'A-, Good Work, but you could do better'
>
> elif grade >=75 and grade < 80:
>
> print 'B, Try Harder'
>
> elif grade >=70 and grade < 75:
>
> print 'B-, Try Harder'
>
> elif grade >=65 and grade < 70:
>
> print 'C, Work Harder'
>
> elif grade >=60 and grade < 65:
>
> print 'C-, Work Harder'
>
> elif grade >=55 and grade < 60:
>
> print 'D, Study Harder'
>
> elif grade >=50 and grade < 55:
>
> print 'D-, Study Harder'
>
> elif grade >=0 and grade < 50:
>
> print 'F, You Failed'
>
> else:
>
> print "You did not enter an appropriate value, please run the
> program again!"
>
>
> grade = raw_input('Put your grade here:’)
>
>
> grade_score()
>
>
> Put your grade here:77
>
> Traceback (most recent call last):
>
>   File "/Users/andre.jeyarajan/Documents/workspace/Chapter 5
> Problems/src/ReportCardQuestion.py", line 28, in 
>
> grade_score()
>
>
This line tells you why it doesn't work:


> TypeError: grade_score() takes exactly 1 argument (0 given)
>

Are you familiar with functions? When you define the function you define it
as taking one parameter:

def grade_score(grade):
# Code here

but then when you call it:

grade_score()

you don't give it any parameters (or arguments). The traceback tells you
that you need to provide it 1 argument and that you gave it 0 instead.

If you called

grade_score(3, 150)

you would get a similar error, only it would say (2 given) instead.

HTH,
Wayne
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Temperature Scales

2010-11-28 Thread Andre Jeyarajan


 Write two functions that will convert temperatures
back and forth from the Celsius and Fahrenheit temperature scales (using 
raw_input)
def C_F(x):
    y = (x-32)*(5.0/9)
    print y
def F_C(x):
    y = (x*9.0/5)+32
    print y
I have created the two functions but I don’t know what to do from here.
Can you help?
Thanks





___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Pyserial and invalid handle

2010-11-28 Thread Walter Prins
John,

On 28 November 2010 15:55, John Smith  wrote:

> Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)]
> on win32
> Type "copyright", "credits" or "license()" for more information.
>
> >>> import serial
> >>> ser = serial.Serial('com1', timeout = 5)
> >>> x = ser.read()
>
> Traceback (most recent call last):
>  File "", line 1, in 
>x = ser.read()
>  File "E:\Python27\lib\site-packages\serial\serialwin32.py", line 236, in
> read
>raise SerialException("ReadFile failed (%s)" % ctypes.WinError())
> SerialException: ReadFile failed ([Error 6] The handle is invalid.)
> >>>
>

Ugh, you're probably not going to like this.  I've done some googling and it
appears this may be a 64-bit issue with the "ctypes" module... apparently
"64-bit ctypes can only import 64-bit libraries".  See here:
http://ur.ly/vSMQ

Then again, it also seems to be an open issue on the PySerial bug tracker:
http://ur.ly/vZNL

Note, the above ticket suggests that PySerial 2.4 works ok (impliedly even
on 64-bit XP, so I imagine also on Windows 7.)  You should be able to try
this out by downloading the 2.4 version instead and installing it in the
same way you did the 2.5 version.  In any case, it might be an idea to post
a report/add a comment to that bug report as well to maybe help get this
issue resolved.

Cheers,

Walter
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Pyserial and invalid handle

2010-11-28 Thread Walter Prins
Also note this link: http://ur.ly/vVU9

It confirms that PySerial 2.4 works fine on Windows 7 64 bit.  (I've also
just downloaded and checked that installing pyserial 2.4 replaces the
existing pyserial and it does on my Python installation.)

Walter
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Temperature Scales

2010-11-28 Thread Corey Richardson



On 11/28/2010 8:33 PM, Andre Jeyarajan wrote:


Write two functions that will convert temperatures back and forth from 
the Celsius and Fahrenheit temperature scales (using raw_input)



def C_F(x):

y = (x-32)*(5.0/9)

print y


def F_C(x):

y = (x*9.0/5)+32

print y


I have created the two functions but I don’t know what to do from here.


Can you help?


Thanks



___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
I get the curious feeling this is homework.  You would need to do one of 
two things:
Pass the output of raw_input as an argument or rewrite your functions so 
that instead of taking the temperature as a parameter, it asks in the 
body of the function for a temperature. In either case, you will run 
into a little TypeError, easily fixed however.

HTH,
~Corey Richardson
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] temporarily modifying sys.path

2010-11-28 Thread Tim Johnson
* Alan Gauld  [101128 15:17]:
>
> "Tim Johnson"  wrote
>
>>> Just curious, but could the imp module help you? imp.find_module
>
>>  I'll be darned. I never even heard of that module, but I just
>>  did an import and looked at the docs. I *will* give that a try.
>
> I think its new in Python v3...
 Hello Alan:
 Actually, I am using 2.6.5 on linux ubuntu 10.04 and 
 imp is provided.
> Compare my recent post about reload() - now a part of imp...
  will do.
  thanks
-- 
Tim 
tim at johnsons-web.com or akwebsoft.com
http://www.akwebsoft.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Python and Tkinter Programming by Grayson--New Version?

2010-11-28 Thread Terry Carroll

On Thu, 25 Nov 2010, Alan Gauld wrote:

"Yves Dextraze"  wrote 

Sent from my iPod


There is no mention on Amazon of any new editions and they usually announce 
several months in advance...


A pity a new Tkinter book using Tix and ttk instead of PMW would be a really 
useful resource!


Odd -- Yves's note shows up on my system as a reply in a long-dormant 
thread from March 2009.

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Python and Tkinter Programming by Grayson--New Version?

2010-11-28 Thread wesley chun
On Sun, Nov 28, 2010 at 7:18 PM, Terry Carroll  wrote:
> On Thu, 25 Nov 2010, Alan Gauld wrote:
>> "Yves Dextraze"  wrote
>>> Sent from my iPod
>>
>> There is no mention on Amazon of any new editions and they usually
>> announce several months in advance...
>>
>> A pity a new Tkinter book using Tix and ttk instead of PMW would be a
>> really useful resource!
>
> Odd -- Yves's note shows up on my system as a reply in a long-dormant thread
> from March 2009.

i agree with alan's sentiment though. perhaps someone just brought up
a server recently (where this msg was in the "outbox")?

-- wesley
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"Python Web Development with Django", Addison Wesley, (c) 2009
    http://withdjango.com

wesley.j.chun :: wescpy-at-gmail.com
python training and technical consulting
cyberweb.consulting : silicon valley, ca
http://cyberwebconsulting.com
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor