在其他人中添加字符串

时间:2013-02-07 09:40:32

标签: python

我有一个像script = "C:\Users\dell\byteyears.py"这样的字符串。我想把字符串"Python27\"放在像script = "C:\Users\dell\Python27\byteyears.py这样的字符串之间。我需要的是因为build_scripts在Windows上运行不正确。无论如何,我怎么能及时有效地实现这个愿望?

编辑:我不打印任何东西。 String存储在build_scripts

中的脚本变量中
  script = convert_path(script)

我应该把东西转换成它,比如

  script = convert_path(script.something("Python27/"))

问题是something应该是什么。

3 个答案:

答案 0 :(得分:2)

os.path最适合处理路径,也可以在Python中使用正斜杠。

In [714]: script = r"C:/Users/dell/byteyears.py"
In [715]: head, tail = os.path.split(script)
In [716]: os.path.join(head, 'Python27', tail)
Out[716]: 'C:/Users/dell/Python27/byteyears.py'

在模块中。

import os
script = r"C:/Users/dell/byteyears.py"
head, tail = os.path.split(script)
newpath = os.path.join(head, 'Python27', tail)
print newpath

给出

'C:/Users/dell/Python27/byteyears.py'

内部Python通常与斜杠无关,因此使用正斜杠“/”,因为它们看起来更好并且不必转义。

答案 1 :(得分:1)

import os
os.path.join(script[:script.rfind('\\')],'Python27',script[script.rfind('\\'):])

答案 2 :(得分:0)

尝试:

from os.path import abspath
script = "C:\\Users\\dell\\byteyears.py"
script = abspath(script.replace('dell\\', 'dell\\Python27\\'))

注意:使用字符串时永远不要忘记逃脱\!

如果你正在混合/和\那么你最好使用abspath()来纠正你的平台!


其他方式:

print "C:\\Users\\dell\\%s\\byteyears.py" % "Python27"

或者如果您希望路径更加动态,这样您就可以传递空字符串:

print "C:\\Users\\dell%s\\byeyears.py" % "\\Python27"

也可能:

x = "C:\\Users\\dell%s\\byeyears.py"
print x
x = x % "\\Python27"
print x