我正在尝试将模块路径附加到我的 PYTHONPATH 环境变量中,如下所示
import sys
sys.path.append(0,"/path/to/module/abc.py")
我收到语法错误
Syntax error: word unexpected (expecting ")")
任何人都可以帮助我正确的语法sys.path.append()
吗?
我正在尝试将模块路径附加到我的 PYTHONPATH 环境变量中,如下所示
import sys
sys.path.append(0,"/path/to/module/abc.py")
我收到语法错误
Syntax error: word unexpected (expecting ")")
任何人都可以帮助我正确的语法sys.path.append()
吗?
两个答案都是正确的。
append()
默认情况下将您的参数添加到列表的末尾。当您向它传递 2 个参数并且它只接受 1 个参数时,它会引发语法错误。
根据您的语法判断,您希望将路径添加到路径的前面,因此insert()
使用的方法也是如此。
您可以在有关数据结构的文档中阅读更多信息
list.append(x)
在列表末尾添加一个项目;相当于 a[len(a):] = [x]。
list.insert(i, x)
在给定位置插入一个项目。第一个参数是要插入之前的元素的索引,因此
a.insert(0, x)
插入到列表的前面,a.insert(len(a), x)
相当于a.append(x)
.
import sys
# Inserts at the front of your path
sys.path.insert(0, "/path/to/module/abc.py")
# Inserts at the end of your path
sys.path.append('/path/to/module/abc.py')
如果您愿意,可以插入它而不是附加:
import sys
sys.path.insert(0, "/home/btilley/brads_py_modules")
import your_modules
为什么要使用 import sys sys.path.append(0,"/path/to/module/abc.py");
试试看嘛:
import sys
sys.path.append('/path/to/module/abc.py')
在这里,我展示了一个帮助将模块附加到路径的示例。路径是一个存储目录位置的列表。
def _get_modules(self, paths, toplevel=True):
"""Take files from the command line even if they don't end with .py."""
modules = []
for path in paths:
path = os.path.abspath(path)
if toplevel and path.endswith('.pyc'):
sys.exit('.pyc files are not supported: {0}'.format(path))
if os.path.isfile(path) and (path.endswith('.py') or toplevel):
modules.append(path)
elif os.path.isdir(path):
subpaths = [
os.path.join(path, filename)
for filename in sorted(os.listdir(path))]
modules.extend(self._get_modules(subpaths, toplevel=False))
elif toplevel:
sys.exit('Error: %s could not be found.' % path)
return modules