Python中sys.path属性

sys模块与Python解释器相关联。它提供了帮助与Python解释器交互的各种函数,解释器维护和使用了几个变量。

由于它是一个内置模块,因此默认情况下可用。这个模块拥有一个变量path,它存储了一个文件系统路径列表,用于搜索Python模块。

sys.path 属性

sys.path

参数

因为它是一个变量,而不是一个函数,所以它没有参数。

返回

因为它是一个变量而不是一个函数,所以它不返回任何东西。它是一个常规的Python字符串列表,可以使用有效的索引访问字符串。

实例1:用 sys.path 获取所有路径

import sys
print(sys.path)

输出:

[
    '/home/repl/13621cdd-4388-4f56-8ddf-a3fdc618c835',
    '/usr/lib/python38.zip',
    '/usr/lib/python3.8',
    '/usr/lib/python3.8/lib-dynload',
    '/usr/lib/python3.8/site-packages'
]

请注意,输出将因系统而异。默认情况下,列表中的第一项是当前工作目录的文件系统路径。

如果上面的代码是从交互式Python shell执行的,则该项将是空字符串,因为脚本没有保存在任何地方。

实例2:用 sys.path 添加搜索模块的路径

import sys
path = "/home/user/python/modules/"
sys.path.append(path)
print(sys.path)
#Python小白学习交流群:711312441

输出:

[
    '/home/repl/39dbc83d-a54b-47e8-b38c-93afc904104d',
    '/usr/lib/python38.zip',
    '/usr/lib/python3.8',
    '/usr/lib/python3.8/lib-dynload',
    '/usr/lib/python3.8/site-packages',
    '/home/user/python/modules/'
]

想象一下,我们自己编写了一些Python API和模块,并将它们存储在某个文件夹中。现在我们需要在一些项目中使用这些模块。

一个简单的解决方案是复制当前目录中的文件并使用它。现在假设我们为10项目做了这件事。

几周后,我们更新了原始库,并将这些更改应用到每个副本;我们必须更改所有10位置的文件。这确实是一种冗长而有效的方法。

如果我们将包含所有模块的文件夹视为源代码,并告诉Python解释器在该目录中查找模块,会怎么样?这正是sys.path.append()让我们做的。

我们可以将路径添加到sys.path,并要求Python解释器在这些路径上查找模块。

考虑到模块之间没有名称冲突,这是一个极好的方法,因为现在我们只需要在一个地方编写更新,并且每个使用它的项目都可以访问它们。此外,可以使用Git轻松地合并版本控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值