pyqt4 - importing a python function from a file in other directory which depends on another file -
this directory structure
-directory1 |-currentlywritingcode -directory2 |-__init__.py |-helper.py |-view.ui the helper.py ui pyqt4 framework. needs view.ui file . has following code load ui data
viewbase, viewform = uic.loaduitype("view.ui") now in directory1 in writing code did this
import directory2.helper when run code in currentlywritingcode throwing error
filenotfounderror: [errno 2] no such file or directory: 'view.ui' what now?
using python3.5 anaconda on centos 7
use os.path.join(os.path.dirname(os.path.realpath(__file__)),'view.ui') in place of view.ui. ensure correctly reference folder python file lives in, regardless of code imports it.
note: make sure have import os other imports.
how work?
__file__ attribute of module importing. contains path module file. see this answer. however, path not absolute path. os.path.realpath returns absolute path (it follows symlinks if there any). @ point have full path module, take path directory (os.path.dirname) , join original filename (which assumed relative original module , should in aforementioned directory). os.path.join ensures correct \ or / used when constructing file path code works on platform.
Comments
Post a Comment