Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

[solved] get path of the experiment file

edited February 2013 in OpenSesame

Hi. I'm wondering if it is possible to automatically obtain the path of the current opensesame file. The reason is that I want opensesame to search for the stimuli inside a folder placed in the same path of the experiment file. I don't want to use the file pool because I have about 2000 images, so opensesame is slow in loading and saving the experiment. On the other hand, of course I can provide the absolute paths to the sketchpad, but then I will have to modify them when I move the experiment on the laboratory PC.
Thanks.

Comments

  • edited July 2015

    Hi,

    The get_file() function first looks in the file pool and then looks in the folder of the current experiment. So path = exp.get_file("my_image.png") will return the full path of the image, even if it's not stored in the file pool but merely in the same folder as your experiment. And you're right, storing your stimuli this way will make loading and saving much faster!

    Fore more info, see:

    Does this help?

    Best,

    Lotje

  • edited 12:38AM

    Yes, but in my case the stimuli are in a subfolder of the folder of the current experiment. Have I necessarily to move the opensesame file inside the stimuli folder? I would prefer to leave a folder with only the pictures because in this way everything looks neater.

  • edited February 2013

    Hi,

    Imagine that your image are in the "images" folder of the current experiment.
    Then I guess that

    path = exp.get_file("\\images\\my_image.png")
    should work...
  • edited 12:38AM

    Hi boris. Unfortunately it does not work.

  • edited February 2013

    Hi Andrea,

    You could determine the experiment folder by using the built-in Python module os:

    # Some important paths. On Windows, the working directory
    # is always the OpenSesame program folder, on other platforms
    # it may not be.  
    
    import os
    
    print 'The experiment path is %s' % exp.experiment_path
    print 'The working directory is %s' % os.getcwd()
    print 'The path to the file pool is %s' % exp.pool_folder
    

    Alternatively, you could use exp.get_file() like so:
    path = exp.get_file('subfolder/image.png')

    Best wishes,

    Lotje

  • edited 12:38AM

    Ok, solved! I was doing and incorrect use of the exp.get_file() function.

    Many many thanks.

  • edited 12:38AM

    Great to hear! :)

Sign In or Register to comment.