2024-04-24 08:00:14 发布
网友
这应该是一个基本的事情做,但我不能得到它的工作,尽管下面的例子从网上很多。 我尝试的是使用子函数从完整路径中获取文件名。你知道吗
所以,如果
output="/home/alvarofeal/Desktop/prueba_sub.avi" re.sub(r'(.*\/)*', "", output) print output output: /home/alvarofeal/Desktop/prueba_sub.avi
输出不应该是:
prueba_sub.avi
你不需要正则表达式任务。作为你可以用os.path.basename和str.split一起使用一种更为python的方式:
os.path.basename
str.split
>>> os.path.basename('/home/alvarofeal/Desktop/prueba_sub.avi').split('.')[0] 'prueba_sub'
或者只需使用basename获取格式为的名称:
basename
>>> os.path.basename('/home/alvarofeal/Desktop/prueba_sub.avi') 'prueba_sub.avi'
你必须这么做
output = re.sub(r'(.*\/)*', "", output)
因为re.sub()返回新字符串
re.sub()
或使用ntpath
ntpath
>>>import ntpath >>>ntpath.basename(output) 'prueba_sub.avi'
re.sub()返回一个新字符串。字符串是不可变的,不能就地更改。你知道吗
您正在忽略返回值;如果要替换旧值,请将其存储回output:
output
output = "/home/alvarofeal/Desktop/prueba_sub.avi" output = re.sub(r'(.*\/)*', "", output) print output
如果您所做的只是分割文件路径的基名称,那么您可能希望改用^{} function。你知道吗
你不需要正则表达式任务。作为你可以用
os.path.basename
和str.split
一起使用一种更为python的方式:或者只需使用
basename
获取格式为的名称:你必须这么做
因为
re.sub()
返回新字符串或使用
ntpath
re.sub()
返回一个新字符串。字符串是不可变的,不能就地更改。你知道吗您正在忽略返回值;如果要替换旧值,请将其存储回
output
:如果您所做的只是分割文件路径的基名称,那么您可能希望改用^{} function 。你知道吗
相关问题 更多 >
编程相关推荐