我有一个像script = "C:\Users\dell\byteyears.py"
这样的字符串。我想把字符串"Python27\"
放在像script = "C:\Users\dell\Python27\byteyears.py
这样的字符串之间。我需要的是因为build_scripts在Windows上运行不正确。无论如何,我怎么能及时有效地实现这个愿望?
script = convert_path(script)
我应该把东西转换成它,比如
script = convert_path(script.something("Python27/"))
问题是something
应该是什么。
答案 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