Re: [Tutor] Learning Regular Expressions

2016-05-30 Thread dirkjso...@gmail.com

On 05/24/2016 01:48 PM, Alan Gauld via Tutor wrote:

On 23/05/16 23:08, Terry--gmail wrote:


scripted worked great without the notes!  I'd like to know what it is in
the below Tripple-Quoted section that is causing me this problem...if
anyone recognizes. In IDLE's script file..._it's all colored green_,
which I thought meant Python was going to ignore everything between the
tripple-quotes!

Its all green forv me too and it runs perfectly - as in it does
absolutly nothing.


And if I add print('hello world') at the end it prionts ok too.

I even tried assigning your docsstring to a variable and printing
that and it too worked.

Linux Mint 17
Python 3.4.3
IDLE 3

So I don't think this is your entire problem. Maybe you should
show us some code that actually causes the error?


But if I run just the below portion of the script in
it's own file, I get the same While Scanning Tripple-Quotes error.

As above, it runs silently for me.


Hi Alan,

I moved my notes that contained any '\'s to a different python file.
However, if we run it, we get the error I was having. Here's the
script:

#!/usr/bin/env python3

'''
Regular Expressions - or at least some

Identifiers:

\d  any number
\D  anything but a number (digit)
\s  space
\S  anything but a space
\w  any character
\W  anything but a character
.   any character (or even a period itself if you use \.) except for a 
newline

a   search for just the letter 'a'
\b  the white space around words

Modifiers
{x}we are expecting "x" number of something
{1, 3}  we're expecting 1-3 in length of something -, so for digits we 
write  \d{1-3}

+  means Match 1 or more
?  means Match 0 or 1
*   Match 0 or more
$  Match the end of a string
^  Match the beginning of a string
|   Match either or   - so you might write  \d{1-3} | \w{5-6}
[ ]  a range or "variance" such as [A-Z] or [A-Za-z] Cap 1st letter 
followed by lower case
or [1-5a-qA-Z] starts with a number inclusive of 1-5 then 
lower case letter then

followed by any Cap letter! :)

White Space Characters  (may not be seen):
\n  new line
\s  space
\t   tab
\e  escape
\f  form feed
\r  return

DON'T FORGET!:
.  +  *  ?  [  ]  $  ^  (  )  {  }  |  \   if you really want to use 
these, you must escape them '\'


'''


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


Re: [Tutor] Learning Regular Expressions

2016-05-30 Thread dirkjso...@gmail.com

Thanks Bob,





OK. The escape character \ still is active in escaping the next 
character or space when inside of triple quotes. So, I guess when the 
program is running, since I am not printing these things out, I don't 
care if anything in my notes is escaped unless it is a strategic single 
or double quotethus disrupting the bubble of the comment formed by 
such triple quotes.


Speaking of single and double quotes, I noticed that I had used two 
single ' to surround some things, so I changed them to double quotes so 
as not to confuse my triple quotes. Then I noticed that I had also used 
contractions with ' apostrophes which would also mess up my comment 
bubble, so I got rid of those also. As far as I can tell, the triple 
single quotes (''') should work at that point. In fact, they do if I 
wrap this whole section in a print( ) statement and paste it into IDLE 
SHELL. But! I found as soon as I had IDLE run my script I got the same 
error.


Here is where I am at now with this script:   (NOTE:  I have the final 
solution below this listing.)


#!/usr/bin/env python3

'''
Regular Expressions - or at least some

Identifiers:

\d  any number
\D  anything but a number (digit)
\s  space
\S  anything but a space
\w  any character
\W  anything but a character
\.   any character (or even a period itself if you use \.) except for a 
newline

\a   search for just the letter "a"
\b  the white space around words

Modifiers
{x}we are expecting "x" number of something
{1, 3}  we are expecting 1-3 in length of something -, so for digits we 
write  \d{1-3}

+  means Match 1 or more
?  means Match 0 or 1
*   Match 0 or more
$  Match the end of a string
^  Match the beginning of a string
|   Match either or   - so you might write  \d{1-3} | \w{5-6}
[ ]  a range or "variance" such as [A-Z] or [A-Za-z] Cap 1st letter 
followed by lower case
or [1-5a-qA-Z] starts with a number inclusive of 1-5 then 
lower case letter then

followed by any Cap letter! :)

White Space Characters  (may not be seen):
\n  new line
\s  space
\t   tab
\e  escape
\f  form feed
\r  return

DO NOT FORGET!:
.  +  *  ?  [  ]  $  ^  (  )  {  }  |  \if you really want to use 
these, you must escape them


'''

I was not getting a line number for the error because I was running it 
only from IDLE and I was looking only at the commented area...as that 
now was the only thing left in the scriptor was it? It hadn't 
occurred to me to try the linux command line.  When I called it from the 
Linux Console, I got:


[justme@ispy] ~/python_work$ python3 RE-1.py
  File "RE-1.py", line 69

^
SyntaxError: EOF while scanning triple-quoted string literal
[justme@ispy] ~/python_work$

Which puzzled me, as I didn't have 69 lines!  And guess what I found 
when I scrolled down past the end of my script? Way down out of sight 
below my program was  a single  ''' setting down there all by it's 
lonesome self!  -a fragment of me changing things all over the place 
trying to figure out what was going wrongit had slipped below my 
line of sight and with further chances continued to work it's way down 
the page.


I think all these fixes...this solves my problem!  Thanks for your time 
and help!  :)


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


[Tutor] subprocess module seems to be failing...

2016-06-03 Thread dirkjso...@gmail.com

Running Linux Mint 17.3
Python3.4.3

I'm following a Tutor concerning the subprocess module which said to 
open a Terminal SHELL and type:


$ python3
>>> import subprocess
>>> subprocess.call('ls', shell=True)

Last night the subprocess.call portion was erroring saying their was no 
'call' attribute. I tried asking
dir(subprocess) and call wasn't listed there. I figured I would try 
again this morning, however, this
is what I was greeted with shortly after booting up and launching my 
Terminal:


[justme@ispy] ~$ python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import subprocess
Traceback (most recent call last):
  File "", line 1, in 
  File "/home/justme/python_work/subprocess.py", line 39

^
SyntaxError: EOF while scanning triple-quoted string literal
>>>

Seems like the module is deteriorating or something, as yesterday it 
accepted the import command

to include it!  :)

I found a subprocess.py in /usr/lib/python3.4 and grabbed it with gedit 
and looked at it line by line. It has tripple double quotes but also 
single double quotes throughout it in places, but they all seemed to 
have a companion quote to offset them...and the entire text area is one 
solid color which would seem to indicate

it is being ignored by python...

What should I do now?

Thanks!


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


Re: [Tutor] subprocess module seems to be failing...

2016-06-03 Thread dirkjso...@gmail.com

Add sound of me beating my head with a bat! :)

Thanks Peter!
-I was a bit too precise in my naming conventions for later review!




On 06/03/2016 02:30 PM, Peter Otten wrote:

dirkjso...@gmail.com wrote:


Running Linux Mint 17.3
Python3.4.3

I'm following a Tutor concerning the subprocess module which said to
open a Terminal SHELL and type:

$ python3
  >>> import subprocess
  >>> subprocess.call('ls', shell=True)

Last night the subprocess.call portion was erroring saying their was no
'call' attribute. I tried asking
dir(subprocess) and call wasn't listed there. I figured I would try
again this morning, however, this
is what I was greeted with shortly after booting up and launching my
Terminal:

[justme@ispy] ~$ python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
  >>>
  >>> import subprocess
Traceback (most recent call last):
File "", line 1, in 
File "/home/justme/python_work/subprocess.py", line 39

Look carefully at the line above. You wrote a script and called it
subprocess.py. Bad idea ;)

Delete or rename your subprocess.py, and the one in the standard library
will become visible again and work as smoothly as ever.


  ^
SyntaxError: EOF while scanning triple-quoted string literal
  >>>

Seems like the module is deteriorating or something, as yesterday it
accepted the import command
to include it!  :)

I found a subprocess.py in /usr/lib/python3.4 and grabbed it with gedit
and looked at it line by line. It has tripple double quotes but also
single double quotes throughout it in places, but they all seemed to
have a companion quote to offset them...and the entire text area is one
solid color which would seem to indicate
it is being ignored by python...

What should I do now?

Thanks!


___
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 maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] printing items form list

2017-03-03 Thread dirkjso...@gmail.com

On 03/03/2017 12:19 PM, Alan Gauld via Tutor wrote:

On 03/03/17 18:52, Peter Otten wrote:

Antonio Zagheni via Tutor wrote:


suitcase = ["book, ", "towel, ", "shirt, ", "pants"]

Hm, looks like you opened Rafael's suitcase while he wasn't looking, and
sneaked in some commas and spaces ;)

That's cheating...

Its also very difficult to maintain since if you add
new items to the suitcase you need to make sure they
all have commas except the last one. And inconsistent data formatting in
a list is a nightmare.

For example, what happens if you decide to sort the list,
the last item is no longer last and the commas are all
messed up.

That's one reason why join() is a better solution, it
handles all of that for you. It's also faster, although
in a small application you'd never notice the difference.

The ','.join(suitcase) is obviously best of all, but if one doesn't know 
that method, the below suggestion can be fixed with:


suitcase = ['book', 'towel', 'shirt', 'pants']

for i in suitcase:
st = st + i + ', '

print('You have a s% in your luggage.' % st)


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