On 8/27/2025 1:45 PM, Stefan Ram wrote:
Ethan Carter <[email protected]> wrote or quoted:
You're right.  There's no written statement.  The exercise was suggested
by the teacher while in class.  It was something like ``write a program
that copies text files by getting source and destination via the
command-line.''

   Well then, I'd think about using "shutil", e.g., "shutil.copy".
   Check it out in "The Python Library Reference"; it's 11.10.1 in
   release 3.13.0a0.

It sounds like the main point of the exercise may have been to use command line arguments. The Original Post tried to do this in a complicated and clumsy (non-Pythonic) way.

Easier and more Pythonic would be to delete the def main() block and then:

if __name__ == '__main__':
    import sys  # could import this at start of file
    if len(sys.argv) == 3:
        copy(sys.argv[1], sys.argv[2])
    else:
        print(usage(sys.argv[0]))

or perhaps easier to read:

if __name__ == '__main__':
    import sys  # could import this at start of file
    try:
        prog, src, dest = sys.argv
    except:
        print(usage(sys.argv[0]))
        sys.exit(1)  # or some other error code
    copy(src, dest)


But, yeah, if the Python community doesn't do that, it's all what you
say.

   Community or no community, in Python, you can have:

def f( s, S ):
     return 2*s+S

   . Should the docs then say, "returns 2*S+S"?

PS.  Is it just me or there's just us in this used-to-be-very-active
group?  Thanks for being my teacher here.  Have a good day!

   Thanks, you too!

   On one hand, many people seem to prefer websites for discussions
   nowadays. On the other hand, if I had not responded, probably
   someone else would have.


--
https://mail.python.org/mailman3//lists/python-list.python.org

Reply via email to