我有这个代码来更改 python 中的目录信息。我想将 '/a/b/c' 更改为 '/x/b/c'。
import os
x = "/a/b/c"
y = x.split(os.sep)
y[1] = 'x'
os.sep.join(y)
现在我只想知道python是否可以使它成为单线。我不能简单地使用os.sep.join(x.split(os.sep)[1] = 'x')
它,因为它会导致语法错误。python中的其他选项可能是什么?
我有这个代码来更改 python 中的目录信息。我想将 '/a/b/c' 更改为 '/x/b/c'。
import os
x = "/a/b/c"
y = x.split(os.sep)
y[1] = 'x'
os.sep.join(y)
现在我只想知道python是否可以使它成为单线。我不能简单地使用os.sep.join(x.split(os.sep)[1] = 'x')
它,因为它会导致语法错误。python中的其他选项可能是什么?
os.sep.join('x' if idx == 1 else element
for idx, element in enumerate(x.split(os.sep)))
结果:
'/x/b/c'
说明:enumerate
将 的每个元素x.split(os.sep)
与其索引配对。'x' if idx == 1 else element
如果它是第 1 个元素,则用 'x' 替换该元素,否则保持原样。
这可能是相当低效的:
y = os.sep.join([x.split(os.sep)[0]] + ['x'] + x.split(os.sep)[2:])
这似乎也有效:
y = os.sep + 'x'+ x[2:]