Hiding

Discussion in 'Python' started by Jay, Jul 29, 2005.

  1. Jay

    Jay Guest

    Well, im not no expert on the python programming language but i just
    wanted to know if there was a quick way to hide certain things when
    programming in python. Such as, i wanted some music or sound effects
    with my python program. So, i type...

    print "Music is by blah blah"
    music-file = open(file containing the music"
    hide(music-file)

    thats wat im looking for, something i can hide the opening of files
    because if i open that file, Windows Media Player will open and i would
    like to hide that. And advise????
     
    Jay, Jul 29, 2005
    #1
    1. Advertising

  2. Jay

    Jason Drew Guest

    Well, using the open function in Python doesn't launch any application
    associated with the file (such as Media Player). It just makes the
    contents of the file accessible to your Python code. Also, I think
    using file("C:\file.txt") is now preferred to open("C:\file.txt").

    To answer the specific question of how to play a music file in Python,
    search Google Groups for: pygame.mixer.music.load("music.mp3")
    That will bring up a useful thread. Note that you will need to install
    a module such as pygame or pymedia; they are not in the standard
    library.

    In general, I would also recommend some of the many good Python
    tutorials. Some are listed here:
    http://wiki.python.org/moin/BeginnersGuide

    Good luck!
     
    Jason Drew, Jul 29, 2005
    #2
    1. Advertising

  3. Jay

    Larry Bates Guest

    I can say with some certainty that opening a "music file" with open
    won't launch media player. If rather, you do os.system('musicfile.mp3')
    it will launch whatever application is associated with the file type
    ..mp3. You can either automate Windows Media player or use pymedia
    to play such files.

    Here are some links that might be of interest:

    http://www.win32com.de/index.php?option=com_content&task=view&id=141&Itemid=259

    http://pymedia.org/tut/

    Larry Bates


    Jay wrote:
    > Well, im not no expert on the python programming language but i just
    > wanted to know if there was a quick way to hide certain things when
    > programming in python. Such as, i wanted some music or sound effects
    > with my python program. So, i type...
    >
    > print "Music is by blah blah"
    > music-file = open(file containing the music"
    > hide(music-file)
    >
    > thats wat im looking for, something i can hide the opening of files
    > because if i open that file, Windows Media Player will open and i would
    > like to hide that. And advise????
    >
     
    Larry Bates, Jul 29, 2005
    #3
  4. Jason Drew wrote:
    > Also, I think using file("C:\file.txt") is now preferred
    > to open("C:\file.txt").


    Guido has said he wants to keep open() around as the way to open a
    file-like object, with the theory that in the future open might also
    support opening non-files (e.g. urls). So open("C:\file.txt") is still
    fine, though isinstance(f, open) is probably not. ;)

    STeVe
     
    Steven Bethard, Jul 29, 2005
    #4
  5. Jay

    Benji York Guest

    Steven Bethard wrote:
    > So open("C:\file.txt") is still fine


    I think it is more like it is recommended, not just OK.
    --
    Benji York
     
    Benji York, Jul 29, 2005
    #5
  6. Jay

    Peter Hansen Guest

    Jason Drew wrote:
    > Also, I think
    > using file("C:\file.txt") is now preferred to open("C:\file.txt").


    As others have noted, "open" is preferred as the method for opening
    files, while "file" is the _type_ involved, for testing or subclassing
    or what-have-you.

    But neither file("C:\file.txt") nor open("C:\file.txt") is actually
    correct at all, unless you have strange files whose names start with
    ASCII FF characters. '\f' is an escape sequence, equivalent to '\x0c'.

    Always use forward slashes ("C:/file.txt") in path names unless you are
    passing them to the shell, or use raw strings (r"C:\file.txt") to avoid
    mysterious problems with escape sequences.

    -Peter
     
    Peter Hansen, Jul 29, 2005
    #6
  7. Jay

    Jay Guest

    thanks for the great info and urls, i have downloaded the pymedia
    module and playing around with it now. Thx alot
     
    Jay, Jul 30, 2005
    #7
  8. Jay

    Jay Guest

    but also, wat if i needed to hide the loading of a file or the even
    hide the whole python window to run in background?? is there no module
    or function i can use????
     
    Jay, Jul 30, 2005
    #8
  9. * Jay (2005-07-30 08:51 +0100)
    > but also, wat if i needed to hide the loading of a file


    As others have pointed out: your question is pointless as opening a
    file doesn't load it or open it in your preferred application.

    You are confusing Operating System semantics with Python semantics.

    You're probably only asking this question because you've never
    actually tried it.

    The solution for your problem is to read a beginner's tutorial about
    Python.

    > or the even hide the whole python window to run in background?? is
    > there no module or function i can use????


    On windows: use pythonw.exe instead of python.exe.
     
    Thorsten Kampe, Jul 30, 2005
    #9
  10. Jay

    Jason Drew Guest

    Ah, good point, thanks. Must stop forgetting that "C:\file.txt" is bad.

    The whole open()/file() clairification is useful too. The Python docs
    for the file() constructor simply state that, "File objects ... can be
    created with the built-in constructor file() described in section 2.1,
    'Built-in Functions.'"
    (http://python.org/doc/2.4.1/lib/bltin-file-objects.html)

    That's followed by a footnote that states, "file() is new in Python
    2.2. The older built-in open() is an alias for file()."

    At first sight, that to me suggests that open() has been somewhat
    deprecated by file().

    However, the description of many of the file methods on the same page
    refers to opening files using open(), e.g.:
    "mode: The I/O mode for the file. If the file was created using the
    open() built-in function, this will be the value of the mode
    parameter."

    It all becomes relatively clear in section 2.1, "Built-in Functions"
    where the entry for file() states, "The file() constructor is new in
    Python 2.2 and is an alias for open(). Both spellings are equivalent.
    The intent is for open() to continue to be preferred for use as a
    factory function which returns a new file object. The spelling, file is
    more suited to type testing (for example, writing 'isinstance(f,
    file)')."

    I guess that clears it up. Though perhaps the Python doc for the file()
    constructor should add that open() is the preferred general-purpose way
    to open a file or file-like object?

    Thanks again
     
    Jason Drew, Aug 1, 2005
    #10
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. David Jones

    Hiding of subprogram designators

    David Jones, Nov 17, 2003, in forum: VHDL
    Replies:
    1
    Views:
    604
    Alan Fitch
    Nov 18, 2003
  2. Brahmam
    Replies:
    3
    Views:
    579
    Francois Beaussier
    Jan 11, 2006
  3. Paul
    Replies:
    0
    Views:
    321
  4. John
    Replies:
    2
    Views:
    483
    William F. Robertson, Jr.
    Jul 2, 2003
  5. Ste
    Replies:
    41
    Views:
    862
    Thomas 'PointedEars' Lahn
    Aug 1, 2007
Loading...

Share This Page