On Mon, Dec 5, 2016 at 9:19 AM, BartC <b...@freeuk.com> wrote: > Command parameters /do/ behave differently between Windows and Linux, for > example try writing *.* as that third parameter. > > In Windows, it will print *.*. > > In Linux, if you have 273 files in the current directory, if will print the > name of the first, and there will be /272 further command parameters/, each > the name of a file. (I couldn't believe this when I found out; one of my > directories recently had 3.4 million files in it, I don't really want *.* > expanded to 3.4m arguments. Here, the fix is again to use double quotes: > "*.*". But what if the user doesn't do that?)
Technically this isn't a Win/Lin difference, but a shell difference. The behaviours you're referring to are common to many Unix shells (including bash, the most commonly used shell on typical Linux systems). If you want a glob to be processed by the application, rather than the shell, you have to escape it with quotes or backslashes. Most of the time, it's easiest to write your app to accept multiple file names, and let the shell expand them - there's a lot more flexibility than just * and ?, and every program behaves the same way, because it's the same shell parsing them all. ChrisA -- https://mail.python.org/mailman/listinfo/python-list