我有一个文件路径作为字符串,并尝试从末尾删除最后一个'/'.
my_file_path = '/home/ro/A_Python_Scripts/flask-auto/myDirectory/scarlett Johanson/1448543562.17.jpg/'
Run Code Online (Sandbox Code Playgroud)
我一直在试用正则表达式,但它只是继续删除所有'/'.有没有更简单的方法来删除没有正则表达式的最后一个字符?
Ala*_*air 17
如你所说,你不需要使用正则表达式.你可以用rstrip.
my_file_path = my_file_path.rstrip('/')
Run Code Online (Sandbox Code Playgroud)
如果最后有多个/,这将删除所有这些,例如'/file.jpg//'- > '/file.jpg'.从你的问题,我认为这没关系.
sar*_*eph 15
最简单的是
正如@greggo指出的那样
string="mystring";
string[:-1]
Run Code Online (Sandbox Code Playgroud)
回答问题:要删除最后一个字符,只需使用:string = string[:-1]。
如果您想删除最后一个“\”(如果有一个(或者有多个)):
while string[-1]=='\\':
string = string[:-1]
Run Code Online (Sandbox Code Playgroud)
如果它是路径,则使用以下os.path函数:
dir = "dir1\\dir2\\file.jpg\\" #I'm using windows by the way
os.path.dirname(dir)
Run Code Online (Sandbox Code Playgroud)
尽管我会在末尾“添加”斜杠以防止丢失文件名,以防原始字符串末尾没有斜杠:
dir = "dir1\\dir2\\file.jpg"
os.path.dirname(dir + "\\")
Run Code Online (Sandbox Code Playgroud)
当使用abspath时,(如果路径不是绝对的,我猜)会将当前工作目录添加到路径中。
os.path.abspath(dir)
Run Code Online (Sandbox Code Playgroud)