[Tutor] How to print lines within two timestamp
On Sat, Oct 27, 2018 at 4:01 AM wrote: > Send Tutor mailing list submissions to > tutor@python.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.python.org/mailman/listinfo/tutor > or, via email, send a message with subject or body 'help' to > tutor-requ...@python.org > > You can reach the person managing the list at > tutor-ow...@python.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Tutor digest..." > Today's Topics: > >1. How to print lines within two timestamp (Asad) >2. Re: How to print lines within two timestamp (Alan Gauld) >3. Re: Python Help (Bob Gailer) >4. Re: Python Help (Adam Eyring) >5. Re: Python Help (Adam Eyring) > > > > -- Forwarded message -- > From: Asad > To: tutor@python.org > Cc: > Bcc: > Date: Fri, 26 Oct 2018 17:03:01 +0530 > Subject: [Tutor] How to print lines within two timestamp > Hi , > > Yes i have the code : > > import re > import datetime > from datetime import timedelta > > f3 = open ( r"D:\QI\logA.txt", 'r' ) > string = f3.read () > regex = re.compile ( "\n" ) > st = regex.sub ( " ", string ) > st1 = st.split ( " " ) > > if re.search ('ERR-1:', st ): > x = re.findall ( "(\w{3})\s+([0-9]{2})\s+(\d+):(\d+):(\d+)\s+(\d+)", > st ) > j = x[0][0] + " "+ x[0][1]+" " + x[0][2] +":"+ x[0][3]+":" + > x[0][4]+" " + x[0][5] > h = x[1][0] + " "+ x[1][1]+" "+ x[1][2] +":" + x[1][3] +":"+ > x[1][4] +" "+ x[1][5] > y = datetime.datetime.strptime ( j, '%b %d %H:%M:%S %Y' ) > print y > k = datetime.datetime.strptime ( h, '%b %d %H:%M:%S %Y' ) > print k > > f4 = open ( r"D:\QI\logC11.txt", 'r' ) > > string1 = f4.read () > reg = re.compile ( "\n" ) > newst = reg.sub ( " ", string1 ) > newst1 = newst.split ( " " ) > > if re.search ( "ERR-2", newst ): > a = re.findall ( "\d\d/\d\d/\d\d\s[012][0-9]:[0-5][0-9]:[0-5][0-9]", > newst ) > for i in range ( len ( a ) ): > newtime = datetime.datetime.strptime ( a[i], '%m/%d/%y %H:%M:%S' ) > if newtime > y and newtime < k: >print "Install patch1" > > if re.search ( "ERR-3", newst ): > a = re.findall ( "\d\d/\d\d/\d\d\s[012][0-9]:[0-5][0-9]:[0-5][0-9]", > newst ) > for i in range ( len ( a ) ): > newtime = datetime.datetime.strptime ( a[i], '%m/%d/%y %H:%M:%S' ) > if newtime > y and newtime < k: > print newtime, y, k > print "Install patch2" > > > == > > output i get : > > *Install patch1 - wrong solution > 2018-10-22 10:21:23 2018-10-22 10:21:15 2018-10-22 10:21:25 > Install patch2 - correct solution * > > > *It should have only searched between timestamps **2018-10-22 10:21:15 > 2018-10-22 10:21:25* > > *in logC11.txt what I am doing wrong please adice stuck on this for long.* > > > > -- Forwarded message -- > From: Alan Gauld > To: tutor@python.org > Cc: > Bcc: > Date: Fri, 26 Oct 2018 18:45:17 +0100 > Subject: Re: [Tutor] How to print lines within two timestamp > On 26/10/2018 12:33, Asad wrote: > > Hi , > > > > Yes i have the code : > > It woiyukld help us to help you if you provided some clues as to what it > was doing. > A good start would be some comments - especially around the regexes. > Don't make us parse them without some idea of what you are expecting. > Also moremeaningful variable names than h,j,k etc > > > import re > > import datetime > > from datetime import timedelta > > You don't appear to use timedelta? > Answer: Yes I remove from datetime import timedelta > > > Header = "*" > > > > f3 = open ( r"D:\QI\logA.txt", 'r' ) > > string = f3.read () > > regex = re.compile ( "\n" ) > > st = regex.sub ( " ", string ) > > I suspect regular string methods would be simpler here. > answer : can you please provide the code to replace above > > > st1 = st.split ( " " ) > > > > if re.search ('ERR-1:', st ): > > x = re.findall ( "(\w{3})\s+([0-9]{2})\s+(\d+):(\d+):(\d+)\s+(\d+)", > st ) > > j = x[0][0] + " "+ x[0][1]+" " + x[0][2] +":"+ x[0][3]+":" + > > x[0][4]+" " + x[0][5] > > h = x[1][0] + " "+ x[1][1]+" "+ x[1][2] +":" + x[1][3] +":"+ > > x[1][4] +" "+ x[1][5] > > I'm not sure what exactly this is doing, but I suspect > datetime.strftime might do it better. > Answer: Its extracting all the dates in the format :Oct 22 10:21:15 2018 from logA.txt and storing it because this logA.txt is primary file which has the start and end date of the incident . > > > y = datetime.datetime.strptime ( j, '%b %d %H:%M:%S %Y' ) > > print y > > k = datetime.datetime.strptime ( h, '%b %d %H:%M:%S %Y' ) > > print k > > > > f4 = open ( r"D:\QI\logC11.txt", 'r' ) > > > > string1 = f4.read () > > reg = re.compile ( "\n" ) > > newst = reg.sub ( " ", string1 ) > > newst1 = newst.split ( " " ) > > > > if
Re: [Tutor] How to print lines within two timestamp
On 27/10/2018 08:02, Asad wrote: >>> string = f3.read () >>> regex = re.compile ( "\n" ) >>> st = regex.sub ( " ", string ) >> >> I suspect regular string methods would be simpler here. >> answer : can you please provide the code to replace above st = string.replace("\n"," ") >>> if re.search ('ERR-1:', st ): >>> x = re.findall ( "(\w{3})\s+([0-9]{2})\s+(\d+):(\d+):(\d+)\s+(\d+)", >> st ) >>> j = x[0][0] + " "+ x[0][1]+" " + x[0][2] +":"+ x[0][3]+":" + >>> x[0][4]+" " + x[0][5] >>> h = x[1][0] + " "+ x[1][1]+" "+ x[1][2] +":" + x[1][3] +":"+ >>> x[1][4] +" "+ x[1][5] >> >> I'm not sure what exactly this is doing, but I suspect >> datetime.strftime might do it better. >> Answer: Its extracting all the dates in the format :Oct 22 10:21:15 2018 Sorry, I saw the re.search but missed the findall(). My bad. >> Can you show us the full output? It should start with your header line? >> >This is the complete output Again my bad. I thought you had a single line header, but that must have been another post, oops! >My requirement is to start(y) and end timestamp (k) from logA.txt which > the code is getting now correctly then open logC11.txt see the timestamp > nearest to start(y) which its doing now > 2018-10-22 10:21:23 and then look for errors(ERR-2 and ERR-3) in the lines > in logC11.txt starting from 2018-10-22 10:21:23 and before the timestamp > (k) ==> here i need help my code is searching for ERR-2 and ERR-3 occurance > in logC11.txt anywhere in the file I want it to search in a specific window > of 2018-10-22 10:21:23 and less than timestamp (k) The traditional way to do this is to use a sentinel variable. That is you scan the lines until you reach your start condition and set the variable to True. You then process all the lines until your end condition where you set the sentinel to false (or exit the loop). During your processing you only proceed to analyses the lines if the sentinel is True. In pseudo code: start,end = find_times("logA.txt") for line in open("logC11.txt"): if start in line: found = True if end in line: break if found: process(line) Obviously with time values its a little bit more complex than a simple 'in' test but you get the idea I hope. HTH -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
[Tutor] (no subject)
Hi there I need to draw a patten with turtle in python 3.7 but I cant get it to work here are the specs of the pattern and my code so far can you please help • Specifications of the pattern o The radius of the three heads is 10. o The length of legs is 30. o The length of the sizes of the two triangles (the body of runner-up and third-place) is 40. They are all equal-size triangles. The winner’s body is a 40x40 square. o The width of the three blocks of the podium is 60. The heights are 90, 60, and 40 respectively. And my code so far from turtle import * x = 0 y = 0 radius = 0 x1 = 0 x2 = 0 y1 = 0 y2 = 0 color = 0 width = 0 hight =0 def main(): speed(0) pensize(3) pencolor("black") winner_color = "red" second_color = "orange" third_color = "purple" draw_podium(winner_color, second_color, third_color) darw_third(third_color) draw_winner(winner_color) draw_second(second_color) def move_to(x, y): x = int(input("input X coordinate: ")) y = int(input("input y coordinate: ")) penup() goto(x, y) pendown() def draw_head(x, y, radius): radius = int(input("input radius: ")) move_to(x, y) circle(radius) def draw_line(x1, y1, x2, y2): x1 = int(input("line start X: ")) y1 = int(input("line start Y: ")) x2 = int(input("line end X: ")) y2 = int(input("line end Y: ")) penup() goto(x1,y1) pendown() goto(x2,y2) def draw_block(x, y, hight, width, color): move_to(x, y) hight = int(input("input hight: ")) width = int(input("input width: ")) color(winner_color) begin_fill() forward(width) left(90) forward(hight) left(90) forward(width) left(90) forward(hight) end_fill() main() draw_block(x, y, hight, width, color) exitonclick() please help me thank you kind regards Tarantulam Sent from Mail for Windows 10 ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
[Tutor] (no subject)
Hi All , I found a logic : 1.initialize print flag to false 2. Save starting and ending times in variables 3. loop to read or process sequential lines in the file a. See if line contains time b. If it does, extract time c. Compare time in line to starting time d. If line time is greater than or equal to start time, set print flag to true e. If line time is greater than ending time, set print flag to false f. If print flag is true print line g. End of loop — process next line start_time = 2018-10-22 10:21:15 end_time = 2018-10-22 10:21:25 f4 = open ( r"logC11.txt", 'r' ) for line in f4.readlines(): a = re.findall( r'\d\d/\d\d/\d\d\s[012][0-9]:[0-5][0-9]:[0-5][0-9]', line ) print a #b = a.group(0) newtime = datetime.datetime.strptime ( a[0], '%m/%d/%y %H:%M:%S' ) print newtime if newtime > y and newtime < k: flag = True else: flag = False if flag : print line else : continue But it errors out : C:\Python27\python.exe D:/QI/test_qopatch.py Traceback (most recent call last): 2018-10-22 10:21:15 File "D:/QI/test_qopatch.py", line 32, in 2018-10-22 10:21:25 newtime = datetime.datetime.strptime ( a[0], '%m/%d/%y %H:%M:%S' ) ['04/26/18 06:11:52'] 2018-04-26 06:11:52 [] IndexError: list index out of range Process finished with exit code 1 Please provide the code Thanks, On Sat, Oct 27, 2018 at 1:35 PM wrote: > Send Tutor mailing list submissions to > tutor@python.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.python.org/mailman/listinfo/tutor > or, via email, send a message with subject or body 'help' to > tutor-requ...@python.org > > You can reach the person managing the list at > tutor-ow...@python.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Tutor digest..." > Today's Topics: > >1. Re: How to print lines within two timestamp (Alan Gauld) >2. Re: Python Help (Alan Gauld) >3. Re: How to print lines within two timestamp (Peter Otten) >4. How to print lines within two timestamp (Asad) > > > > -- Forwarded message -- > From: Alan Gauld > To: tutor@python.org > Cc: > Bcc: > Date: Fri, 26 Oct 2018 23:30:09 +0100 > Subject: Re: [Tutor] How to print lines within two timestamp > On 26/10/2018 18:45, Alan Gauld via Tutor wrote: > > > It woiyukld > > No idea what happened there. Should be "would" of course! > > -- > Alan G > Author of the Learn to Program web site > http://www.alan-g.me.uk/ > http://www.amazon.com/author/alan_gauld > Follow my photo-blog on Flickr at: > http://www.flickr.com/photos/alangauldphotos > > > > > > > -- Forwarded message -- > From: Alan Gauld > To: tutor@python.org > Cc: > Bcc: > Date: Fri, 26 Oct 2018 23:34:17 +0100 > Subject: Re: [Tutor] Python Help > On 26/10/2018 18:20, Adam Eyring wrote: > > > beef = (beefmeals * 15.95) > > Note that the parens here are completely redundant. > They don't break anything but neither do they > contribute anything. > > WE already have LISP(*) for those who love parens, > no need for (so many of) them in Python > > (*)Lots of Irrelevant Silly Parentheses : > > -- > Alan G > Author of the Learn to Program web site > http://www.alan-g.me.uk/ > http://www.amazon.com/author/alan_gauld > Follow my photo-blog on Flickr at: > http://www.flickr.com/photos/alangauldphotos > > > > > > > -- Forwarded message -- > From: Peter Otten <__pete...@web.de> > To: tutor@python.org > Cc: > Bcc: > Date: Sat, 27 Oct 2018 06:07:43 +0200 > Subject: Re: [Tutor] How to print lines within two timestamp > Alan Gauld via Tutor wrote: > > > On 26/10/2018 18:45, Alan Gauld via Tutor wrote: > > > >> It woiyukld > > > > No idea what happened there. Should be "would" of course! > > Of coiyukrse! Nobody thoiyukght otherwiiyske :) > > > > > > -- Forwarded message -- > From: Asad > To: tutor@python.org > Cc: > Bcc: > Date: Sat, 27 Oct 2018 12:32:51 +0530 > Subject: [Tutor] How to print lines within two timestamp > On Sat, Oct 27, 2018 at 4:01 AM wrote: > > > Send Tutor mailing list submissions to > > tutor@python.org > > > > To subscribe or unsubscribe via the World Wide Web, visit > > https://mail.python.org/mailman/listinfo/tutor > > or, via email, send a message with subject or body 'help' to > > tutor-requ...@python.org > > > > You can reach the person managing the list at > > tutor-ow...@python.org > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of Tutor digest..." > > Today's Topics: > > > >1. How to print lines within two timestamp (Asad) > >2. Re: How to print lines within two timestamp (Alan Gauld) > >3. Re: Python Help (Bob Gailer) > >4. Re: Python Help (Adam Eyring) > >5. Re: Python Help (Adam Eyring) > > > > > > > > -- Forwarded message -- > > From: Asad > > To: tutor@python.org > > Cc: > >
Re: [Tutor] How to print lines within two timestamps
On 27/10/2018 10:28, Asad wrote: > C:\Python27\python.exe D:/QI/test_qopatch.py > Traceback (most recent call last): > 2018-10-22 10:21:15 > File "D:/QI/test_qopatch.py", line 32, in > 2018-10-22 10:21:25 > newtime = datetime.datetime.strptime ( a[0], '%m/%d/%y %H:%M:%S' ) > ['04/26/18 06:11:52'] > 2018-04-26 06:11:52 > [] > IndexError: list index out of range Notice that the 2nd last line says you have an empty list. So a[0] will produce an index error since there is no element 0. You need to check for an empty list before the assignment. (Or catch the index error in a try/except) Notice the help for re.findall() says findall(pattern, string, flags=0) Return a list of all non-overlapping matches in the string. If one or more groups are present in the pattern, return a list of groups; this will be a list of tuples if the pattern has more than one group. Empty matches are included in the result. ### See the last line? BTW Please delete the digest items that are not relevant. These messages go to the full 400+ members of the list and many pay by the byte. They don't want to see stuff they have already received unless it's relevant. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
Re: [Tutor] (no subject)
Greetings! On Sat, Oct 27, 2018 at 6:48 AM Jesse Stockman wrote: > > Hi there > > I need to draw a patten with turtle in python 3.7 but I cant get it to work > ... What is the problem? Describe what you expected to happen, what did happen, and *copy and paste* the Traceback that Python generates. I had a bit of time, so I ran your code as you had it in your email, and I got the following: Traceback (most recent call last): File "draw_body.py", line 69, in main() File "draw_body.py", line 26, in main draw_podium(winner_color, second_color, third_color) NameError: name 'draw_podium' is not defined If you look at your code, your main() function calls this draw_podium() function, but you never give us that function in your email. Likewise, darw_third() [Note the spelling error here.], draw_winner(), and draw_second() are not defined anywhere in the code you provided. Looks like your next step is to write those functions. BTW "hight" should be "height", but as long as you are consistent, that spelling error should not cause any issues. One thing you can do to check for further issues with the code you *have* written so far, is to provide the missing functions with "pass" in each function's body, and then run your program and see if any other errors emerge. E.g., draw_podium(winner_color, second_color, third_color): pass draw_third(third_color): pass Etc. Hope this helps! > ...here are the specs of the pattern and my code so far can you please help > > • Specifications of the pattern o The radius of the three heads is 10. > o The length of legs is 30. o The length of the sizes of the two triangles > (the body of runner-up and third-place) is 40. They are all equal-size > triangles. The winner’s body is a 40x40 square. o The width of the three > blocks of the podium is 60. The heights are 90, 60, and 40 respectively. > > And my code so far > > from turtle import * > > x = 0 > y = 0 > radius = 0 > x1 = 0 > x2 = 0 > y1 = 0 > y2 = 0 > color = 0 > width = 0 > hight =0 > > > > def main(): > speed(0) > pensize(3) > pencolor("black") > > winner_color = "red" > second_color = "orange" > third_color = "purple" > draw_podium(winner_color, second_color, third_color) > darw_third(third_color) > draw_winner(winner_color) > draw_second(second_color) > > def move_to(x, y): > x = int(input("input X coordinate: ")) > y = int(input("input y coordinate: ")) > penup() > goto(x, y) > pendown() > > def draw_head(x, y, radius): > radius = int(input("input radius: ")) > move_to(x, y) > circle(radius) > > def draw_line(x1, y1, x2, y2): > x1 = int(input("line start X: ")) > y1 = int(input("line start Y: ")) > x2 = int(input("line end X: ")) > y2 = int(input("line end Y: ")) > penup() > goto(x1,y1) > pendown() > goto(x2,y2) > > def draw_block(x, y, hight, width, color): > move_to(x, y) > hight = int(input("input hight: ")) > width = int(input("input width: ")) > color(winner_color) > begin_fill() > forward(width) > left(90) > forward(hight) > left(90) > forward(width) > left(90) > forward(hight) > end_fill() > > > main() > draw_block(x, y, hight, width, color) > > > exitonclick() -- boB ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
Re: [Tutor] Python 3.6 update?
On 10/25/18 5:30 PM, Mats Wichmann wrote: On 10/25/2018 03:07 PM, Jim wrote: Mint 18.1 Default python3 = 3.5 Python 3.6 installed for use by a virtual environment. Update manager just informed me of an update for python 3.6 to 3.6.7-1. When I started to install it, I got a dialog saying: this upgrade will trigger additional changes. The following 2 packages will be removed python3-dev & python3-venv. I am wondering what will happen to the virtual environment I have installed that uses python 3.6. Will the 2 packages be replaced and the virtual environment continue to work or is there some other steps I will need to take. Regards, Jim we can't tell that from here. Not sure whose bright idea it was to package venv separately, since it's supposed to be a "standard" part of Python 3 since 3.3 (I guess it's "batteries included, but you still have to install the batteries" :). But removing the package doesn't affect a created virtual environment. What can affect a created virtual environment is how it was created - there are a few options, some combinations of which could leave things going missing from underneath if the Python it's created from is upgraded. venv has an upgrade option that might help with that. Mint forums (and probably Ubuntu forums) could be further help... usually somebody's been through it before. Asked on ubuntu forumn. thanks, Jim ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
Re: [Tutor] (no subject)
On Oct 27, 2018 7:48 AM, "Jesse Stockman" wrote: > > Hi there > > I need to draw a patten with turtle in python 3.7 but I cant get it to work here are the specs of the pattern and my code so far can you please help Thank you for asking for help. It would help us if you were more specific. "Can't get it to work" doesn't tell us much. Does the program run or do you get an error? If you get an error, also known as a traceback, copy the entire traceback and paste it into your reply. Otherwise show us your input and output. Tell us where it differs from what you expected. Again use copy and paste to show your results. > > • Specifications of the pattern o The radius of the three heads is 10. > o The length of legs is 30. o The length of the sizes of the two triangles (the body of runner-up and third-place) is 40. They are all equal-size triangles. The winner’s body is a 40x40 square. o The width of the three blocks of the podium is 60. The heights are 90, 60, and 40 respectively. > > And my code so far > > from turtle import * > > x = 0 > y = 0 > radius = 0 > x1 = 0 > x2 = 0 > y1 = 0 > y2 = 0 > color = 0 > width = 0 > hight =0 > > > > def main(): > speed(0) > pensize(3) > pencolor("black") > > winner_color = "red" > second_color = "orange" > third_color = "purple" > draw_podium(winner_color, second_color, third_color) > darw_third(third_color) > draw_winner(winner_color) > draw_second(second_color) > > def move_to(x, y): > x = int(input("input X coordinate: ")) > y = int(input("input y coordinate: ")) > penup() > goto(x, y) > pendown() > > def draw_head(x, y, radius): > radius = int(input("input radius: ")) > move_to(x, y) > circle(radius) > > def draw_line(x1, y1, x2, y2): > x1 = int(input("line start X: ")) > y1 = int(input("line start Y: ")) > x2 = int(input("line end X: ")) > y2 = int(input("line end Y: ")) > penup() > goto(x1,y1) > pendown() > goto(x2,y2) > > def draw_block(x, y, hight, width, color): > move_to(x, y) > hight = int(input("input hight: ")) > width = int(input("input width: ")) > color(winner_color) > begin_fill() > forward(width) > left(90) > forward(hight) > left(90) > forward(width) > left(90) > forward(hight) > end_fill() > > > main() > draw_block(x, y, hight, width, color) > > > exitonclick() > > > please help me > thank you > kind regards > Tarantulam > > > Sent from Mail for Windows 10 > > ___ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
[Tutor] Turtle graphics - was Re: (no subject)
On 27/10/2018 12:09, Jesse Stockman wrote: > Hi there Hi, Please always provide a meaningful subject line. Also always include the output of your program, especially if its an error message - these are full of useful information. > I need to draw a patten with turtle in python 3.7 but > I cant get it to work > here are the specs of the pattern > and my code so far can you please help > > • Specifications of the pattern o The radius of the three heads is 10. ... Since the specs provide the sizes you don't need all the input() calls, just use the data. It's much faster to run and test that way. > def main(): > speed(0) > pensize(3) > pencolor("black") > > winner_color = "red" > second_color = "orange" > third_color = "purple" > draw_podium(winner_color, second_color, third_color) Where is draw_podium defined? > darw_third(third_color) Check the spelling here? And also, where is draw_third() defined (or even darw_third) > draw_winner(winner_color) > draw_second(second_color) You can't call functions that don't exist. They must either be provided by an imported module or defined by you. > def move_to(x, y):... > > def draw_head(x, y, radius):... > def draw_line(x1, y1, x2, y2):... > def draw_block(x, y, hight, width, color):... > main() > draw_block(x, y, hight, width, color) > exitonclick() -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
[Tutor] books (for postage)
I have the following gathering dust on my shelf: The Python Standard Library by Example by Doug Hellmann 3rd printing May 2012 Dive Into Python by Mark Pilgrim 2004 Learn Python the Hard Way (2nd Edition) by Zed A. Shaw June 2011 If anyone wants any or all of them, I'm happy to send them on for what ever it costs to mail. I could mail from either the US (94924 area code) or from Canada (V9L 6T2)- which ever works out cheapest (which may depend on the destination although in general I believe costs are cheaper in the States.) -- Alex Kleider (sent from my current gizmo) ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor