From: Phil Hansen on 12 Jun 2010 07:33 On Sat, 12 Jun 2010 12:51:18 +0200, Peter Otten wrote: > Phil H wrote: >> The script was written using Gedit on Ubuntu. > > Strange. Did you perhaps start with a file that you got from elsewhere > and modified that? Gedit may have left the CRs untouched then. > >> Cannot find a setting in Gedit to set the line ending but it must be >> there somewhere so will keep looking. Found it. When using 'save as' there is an option box at the bottom where you can select the line ending. Simple when you know how :) >> Also how do you see or check the line endings of a file? > > cat -v filename > is one option. CR (or "\r", or chr(13), or carriage return) shows up as > ^M. The ^ means "subtract 64 from the byte value", e. g. > ^M = chr(ord("M")-64) = chr(77-64) = chr(13) > Peter Thanks for the help Cheers Phil
From: Alister on 12 Jun 2010 09:42 On Sat, 12 Jun 2010 10:04:02 +0000, Phil H wrote: > On Sat, 12 Jun 2010 09:03:43 +0000, Phil H wrote: > >> Hi, >> Trying my hand with Python but have had a small hiccup. Reading 'A >> byte of Python' and created helloworld.py as directed. >><snip> >> Any help appreciated >> Phil > > Thanks Peter & Chris for your prompt replies. The line ending was the > problem. > The script was written using Gedit on Ubuntu. Cannot find a setting in > Gedit to set the line ending but it must be there somewhere so will keep > looking. Also how do you see or check the line endings of a file? > > Thanks again > Phil You may want to try installing geany from your package manager, it is a pretty good but lightweight editor for programming with syntax highlighting & the option to replace tabs/spaces as req it also handles html,php, ruby & a whole host of others. before I found geany I also used bluefish which is probably more sophisticated but not as lightweight. -- The Movement Formerly Known As Open Source The battle over the Open Source trademark is heating up. Software in the Public Interest and the Open Source Initiative both hold competing claims to the trademark. In order to put an end to the infighting, a group of free software advocates have founded the Association for the Movement Formerly Known as Open Source (AMFKOS) One AMFKOS founder said, "I find it ironic that a trademark representing free software is itself proprietary. This situation must change. We propose that the free software movement adopt another name besides 'Open Source'. Hopefully then we can all Get-Back-To-Coding(tm) instead of fighting over Bruce Perens' and Eric Raymond's egos." Rumor has it that Richard Stallman plans to mount a campaign to promote the phrase "GNU/Free Software" in place of "Open Source". In addition, the terms "Ajar Source", "Unlocked Source", "Nude Source", "Unclosed Source", and "Just-Type-make Software" have all been proposed by various Usenet or Slashdot posters.
From: Gabriel Genellina on 15 Jun 2010 03:53 En Sat, 12 Jun 2010 06:03:43 -0300, Phil H <skilphil(a)gmail.co.za> escribi�: > Trying my hand with Python but have had a small hiccup. > Reading 'A byte of Python' and created helloworld.py as directed. > > #!/usr/bin/python > # filename : helloworld.py > print 'Hello World' > > At the terminal prompt cd to the file location and run from the prompt. > > phil(a)grumpy:~/projects/python$ python helloworld.py > Hello World > > All fine. > > Then I tried the following as described in the tutorial and get the > following error > > phil(a)grumpy:~/projects/python$ chmod a+x helloworld.py > phil(a)grumpy:~/projects/python$ ./helloworld.py > bash: ./helloworld.py: /usr/bin/python^M: bad interpreter: No such file > or directory > > The permissions are: rwxr-xr-x. Looks like you created helloworld.py on Windows, or using Windows-oriented tools (perhaps a samba drive? ftp from a Windows disk?) Windows text files end each line with the \r\n sequence (CR LF, bytes 0x0D 0x0A, ^M^J). Unix (and Linux) uses only a \n (LF, 0x0A). The \r will be read as part of the previous line then. There are tools to convert back and forth those formats (dos2unix and unix2dos, or the crlf.py demo script in the Python source distribution). But to avoid problems, it's better to use the right tools for the OS you're working with (that is, don't use notepad to edit Linux files...) -- Gabriel Genellina
From: Phil Hansen on 15 Jun 2010 06:17
On Tue, 15 Jun 2010 04:53:52 -0300, Gabriel Genellina wrote: > Looks like you created helloworld.py on Windows, or using > Windows-oriented tools (perhaps a samba drive? ftp from a Windows disk?) > Windows text files end each line with the \r\n sequence (CR LF, bytes > 0x0D 0x0A, ^M^J). Unix (and Linux) uses only a \n (LF, 0x0A). The \r > will be read as part of the previous line then. > > There are tools to convert back and forth those formats (dos2unix and > unix2dos, or the crlf.py demo script in the Python source distribution). > But to avoid problems, it's better to use the right tools for the OS > you're working with (that is, don't use notepad to edit Linux files...) Thanks. See replies above. Used Gedit and ubuntu but saved in wrong format (there is a choice and I didn't know better). |