Python coding

2022-11-27 Thread Karen Park
Hello,

I am trying to do a python code. Using Windows, I got as far as the step that 
asks me to “copy the logistics.py file and save it in the same folder that you 
are running python from” (as displayed by the command prompt). 
Can you help direct me where to go to copy and save this “logistics.py“ file?

Thank you,

Karen 



-- 
https://mail.python.org/mailman/listinfo/python-list


argparse — adding a --version flag in the face of positional args

2022-11-27 Thread Skip Montanaro
I have a script to which I'd like to add a --version flag. It should print
the version number then exit, much in the same way --help prints the help
text then exits. I haven't been able to figure that out. I always get a
complaint about the required positional argument.

I think I could use something like nargs='*', but that would push off
detection of the presence of the positional arg to the application.
Shouldn't I be able to tell argparse I'm going to process --verbose, then
exit?

Thx,

Skip
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python coding

2022-11-27 Thread Cameron Simpson

On 27Nov2022 16:47, Karen Park  wrote:
I am trying to do a python code. Using Windows, I got as far as the 
step that asks me to “copy the logistics.py file and save it in the 
same folder that you are running python from” (as displayed by the 
command prompt).
Can you help direct me where to go to copy and save this “logistics.py“ 
file?


It sounds like you're follow some tutorial? Can you provide the URL of 
the tutorial you're following?


Cheers,
Cameron Simpson 
--
https://mail.python.org/mailman/listinfo/python-list


Re: argparse — adding a --version flag in the face of positional args

2022-11-27 Thread Matt Wheeler
I wondered whether subparsers might work, but they don't quite fit here.

This seems to fit the bill fairly well, though I agree it would be
nice if there were a neater option:

import argparse
import sys

VERSION = 0.1

def main(args):
parser.parse_args(args)


class VersionAction(argparse.Action):
def __call__(self, parser, namespace, values, option_string):
print(VERSION)
exit()


parser = argparse.ArgumentParser()
parser.add_argument("-v", "--version", nargs=0, action=VersionAction)
parser.add_argument("pos", nargs=1)


if __name__ == "__main__":
main(sys.argv[1:])

On Sun, 27 Nov 2022 at 23:40, Skip Montanaro  wrote:
>
> I have a script to which I'd like to add a --version flag. It should print
> the version number then exit, much in the same way --help prints the help
> text then exits. I haven't been able to figure that out. I always get a
> complaint about the required positional argument.
>
> I think I could use something like nargs='*', but that would push off
> detection of the presence of the positional arg to the application.
> Shouldn't I be able to tell argparse I'm going to process --verbose, then
> exit?
>
> Thx,
>
> Skip
> --
> https://mail.python.org/mailman/listinfo/python-list



-- 
Matt Wheeler
http://funkyh.at
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: argparse — adding a --version flag in the face of positional args

2022-11-27 Thread Skip Montanaro
> class VersionAction(argparse.Action):
> def __call__(self, parser, namespace, values, option_string):
> print(VERSION)
> exit()
...
> parser.add_argument("-v", "--version", nargs=0, action=VersionAction)

Thanks. An action class didn't occur to me. I looked briefly at the
code for argparse to see how it handled --help. The added argument
seemed normal, so gave up, figuring there was some special handling of
that option.

Skip
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: argparse — adding a --version flag in the face of positional args

2022-11-27 Thread Mats Wichmann

On 11/27/22 16:40, Skip Montanaro wrote:

I have a script to which I'd like to add a --version flag. It should print
the version number then exit, much in the same way --help prints the help
text then exits. I haven't been able to figure that out. I always get a
complaint about the required positional argument.

I think I could use something like nargs='*', but that would push off
detection of the presence of the positional arg to the application.
Shouldn't I be able to tell argparse I'm going to process --verbose, then
exit?


ummm, hate to say this, but have you checked the documentation?  this 
case is supported using an action named 'version' without doing very much.




--
https://mail.python.org/mailman/listinfo/python-list


RE: Python coding

2022-11-27 Thread Mike Dewhirst
Create a folder anywhere convenient and copy it in there.Then - if python has 
been downloaded from the Python website and installed "normally" you can open a 
command prompt in that folder and type C:\\$>python 
logistics.py"normally" means Python is in your path environment 
variable.--(Unsigned mail from my phone)
 Original message From: Karen Park  Date: 
28/11/22  10:07  (GMT+10:00) To: [email protected] Subject: Python coding 
Hello,I am trying to do a python code. Using Windows, I got as far as the step 
that asks me to “copy the logistics.py file and save it in the same folder that 
you are running python from” (as displayed by the command prompt). Can you help 
direct me where to go to copy and save this “logistics.py“ file?Thank you,Karen 
-- https://mail.python.org/mailman/listinfo/python-list
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python coding

2022-11-27 Thread Dennis Lee Bieber
On Sun, 27 Nov 2022 16:47:29 -0600, Karen Park  declaimed
the following:

>I am trying to do a python code. Using Windows, I got as far as the step that 
>asks me to “copy the logistics.py file and save it in the same folder that you 
>are running python from” (as displayed by the command prompt). 
>Can you help direct me where to go to copy and save this “logistics.py“ file?

Well, where do the instructions tell you to obtain "logistics.py"? Or
maybe that is the file you are supposed to create using some editor?

Unless you've changed directories, opening a command shell should
reveal something like:

Microsoft Windows [Version 10.0.19044.2251]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Wulfraed>

... C:\Users\Wulfraed   would be the directory in which to save the file
(for my machine)... But if I run a few directory changes...

Microsoft Windows [Version 10.0.19044.2251]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Wulfraed>cd "Documents\_Hg-Repositories\Python Progs"

C:\Users\Wulfraed\Documents\_Hg-Repositories\Python Progs>

... means the directory to save in would be 
C:\Users\Wulfraed\Documents\_Hg-Repositories\Python Progs

The idea is to save the .py file in the /current working directory/.
That way you only need to type the name of the file, without the long
directory path, when invoking the program (which assumes 'python"
[python.exe] is on your system path).


-- 
Wulfraed Dennis Lee Bieber AF6VN
[email protected]://wlfraed.microdiversity.freeddns.org/
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: argparse — adding a --version flag in the face of positional args

2022-11-27 Thread Weatherby,Gerard
Use two parsers:

import argparse
import sys

vparser = argparse.ArgumentParser(add_help=False)
vparser.add_argument('--version',action="store_true",help="show version")
# look for version, ignore remaining arguments
vargs, _ = vparser.parse_known_args()
if vargs.version:
print("Version 2.0")
sys.exit(0)
parser = argparse.ArgumentParser()
parser.add_argument("positional",type=int)
# add version again, so it displays if --help called
parser.add_argument('--version',action="store_true",help="show version")
args = parser.parse_args()
# double argument
print(args.positional * 2)


From: Python-list  on 
behalf of Skip Montanaro 
Date: Sunday, November 27, 2022 at 6:42 PM
To: Python 
Subject: argparse — adding a --version flag in the face of positional args
*** Attention: This is an external email. Use caution responding, opening 
attachments or clicking on links. ***

I have a script to which I'd like to add a --version flag. It should print
the version number then exit, much in the same way --help prints the help
text then exits. I haven't been able to figure that out. I always get a
complaint about the required positional argument.

I think I could use something like nargs='*', but that would push off
detection of the presence of the positional arg to the application.
Shouldn't I be able to tell argparse I'm going to process --verbose, then
exit?

Thx,

Skip
--
https://urldefense.com/v3/__https://mail.python.org/mailman/listinfo/python-list__;!!Cn_UX_p3!k-JSWNRKr8fNARGIFw3z_eh_Kv0ouXZKTDEQfWplA3Y3yrLUl81TmbNLiuDiXGOjgXcmNFPOqU2Ldmsh1VCLvLsxBas$
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: argparse — adding a --version flag in the face of positional args

2022-11-27 Thread Skip Montanaro
>
> ummm, hate to say this, but have you checked the documentation?  this
> case is supported using an action named 'version' without doing very much.
>

Thanks, Mats.

I actually searched all over the argparse docs. (There's a lot to digest.
Honestly, if I wasn't attempting to be sort of up-to-date I'd just continue
using getopt.) It never occurred to me that "version" would be special, so
I didn't specifically search for it, or realize there would be a specific
action devoted to it. I knew (the default) "help" was special, so I focused
my search for it. Obviously, "--help" is a pretty bad search term.

Skip

>
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: argparse — adding a --version flag in the face of positional args

2022-11-27 Thread Karen Park
I figured it out…there was a logistics file given with the assignment! I 
thought it was supposed to be a download included with the python download…oops!

Thanks,

Karen 


> On Nov 27, 2022, at 9:34 PM, Skip Montanaro  wrote:
> 
> 
>> 
>> 
>> ummm, hate to say this, but have you checked the documentation?  this
>> case is supported using an action named 'version' without doing very much.
>> 
> 
> Thanks, Mats.
> 
> I actually searched all over the argparse docs. (There's a lot to digest.
> Honestly, if I wasn't attempting to be sort of up-to-date I'd just continue
> using getopt.) It never occurred to me that "version" would be special, so
> I didn't specifically search for it, or realize there would be a specific
> action devoted to it. I knew (the default) "help" was special, so I focused
> my search for it. Obviously, "--help" is a pretty bad search term.
> 
> Skip
> 
>> 
> -- 
> https://mail.python.org/mailman/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list