当前位置: 首页 > 面试题库 >

Python sys.path修改不起作用

令狐和裕
2023-03-14
问题内容

我正在尝试修改我的一个Python文件中的sys.path,以便在模块搜索路径中有一些特定的库目录(这可能不是最好的方法,但是…)。如果我在sys.path的前面插入几个路径,我的脚本将不会考虑这些路径以备将来导入。如果我制作了一个包含我需要的库的新列表,并将该列表分配给sys.path,则将这些导入考虑在内。这是正确的行为吗?我正在使用python 2.5.4。可能是由于我的环境导致这种行为吗?

一些代码段:如果我这样做

pathtoInsert1 = " .... "
pathtoInsert2 = " .... "
sys.path.insert(0, pathToInsert1)
sys.path.insert(0, pathToInsert2)

这是行不通的。它不考虑路径。

如果我做

pathList = [pathToInsert1, pathToInsert2] 
sys.path = pathList

有用。

谢谢


问题答案:

您确实需要发布一些代码,以便我们能够为您提供帮助。但是,我可以做出有根据的猜测。您说如果创建一个完整的新列表并将其分配给sys.path,那么它将起作用。我想你是说你在做这样的事情

sys.path = ["dir1", "dir2", ...]

但是,如果您在开头插入路径,则无法正常工作。我的猜测是您正在使用inserthtml" target="_blank">方法,就像这样

sys.path.insert(0, ["dir1", "dir2"])

如果是这样,那是不正确的。这将创建一个看起来像

[["dir1", "dir2"], "dir3", ...]

你应该说

sys.path[:0] = ["dir1", "dir2"]

这会给你

["dir1", "dir2", "dir3", ...]

但这一切都是猜测,直到您发布代码。



 类似资料:
  • 问题内容: 我正在尝试从字符串中修剪前导空格,并且我不知道我的方法有什么问题,请提出任何建议? 码: 我正在从csv文件中读取poNumber为“ IG078565和IG083060”,并且输出也使用相同的空格获得相同的值,不确定为什么吗? 更新 添加完整的方法以获得更好的上下文: 谢谢。 问题答案: 更新 看来您的空格不是空格(ascii = 32)。您的代码为160,这是一个不间断的空格。不处

  • 这是我的logcat com.contoh.jalikk.tumbal.search.adapter.NotifyDataSetChanged()'在com.contoh.jalikk.tumbal.semuadata$1的空对象引用上。onresponse(semuadata.java:178)在com.contoh.jalikk.tumbal.semuadata$1的onresponse(se

  • 目前我正在使用webpack 5、react 17和@dr.pogodin/babel-plugin-react-css-modules以及所有其他最新软件包。 我排除了资产/样式表中的sass/css文件,这些文件被视为全局文件,并在className中使用这些类 将localIdentName更改为其他内容时不会应用样式。我试过了,但没用。 Github回购链接 那么如何更改localIden

  • 我是Python新手,我正在尝试将数据存储在.json中,然后通过Python访问和修改它。目前我遇到一个问题,如果我尝试使用变量而不是直接修改它,我就无法修改数据。如果它不在变量中,或者我只是在读取信息,或者它不在函数中,它就可以正常工作。 .json:

  • 我有一个小的测试页面设置来测试我有的一个sprite表。中的每个sprite如下所示... 我的页面是这样的... null null 在循环过程中,我记录了类名,可以看到它的变化,并且这些名称对应于我的样式表中存在的类。和都在images文件夹中,并且images文件夹与我的页面位于同一目录中。 如果我只是从我的样式表中复制一个规则并将其直接放到我的页面上,并将名称替换为以进行测试,我就可以显示

  • 我正在尝试以编程方式更改页面。这第一行代码正在工作,但我不需要它延迟,所以我尝试了第二行,但它不起作用。我错过了什么? 工作(但我不想延迟): 不工作: 我在<代码>中调用它

  • 问题内容: 我了解到删除前导和尾随空格。但是在我的情况下,它无法正常工作,我正在尝试使用以下代码,但是输出的前导和尾随空格。但是我的期望是文本没有开头和结尾的空格。这是我的代码。 请帮我 问题答案: 您需要将结果重新分配给: 请记住, Java中的字符串是不可变的 ,因此 几乎 所有的String类方法都将创建并返回新的字符串,而不是就地修改字符串。 尽管这是题外话,但是(正如我在那所说的),值得

  • 我在寻找在Java中实现聚合和合成的方法时遇到了这个答案。这是回答者对合成的实现- 我想问一下,是否必须将engine声明为private final才能成为有效的组合?构成是否也暗示了发动机的属性在其寿命内永远不变?