Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将文本(file.txt.gz)拆分为(file.txt.gz)_Python_String_Os.path - Fatal编程技术网

Python 将文本(file.txt.gz)拆分为(file.txt.gz)

Python 将文本(file.txt.gz)拆分为(file.txt.gz),python,string,os.path,Python,String,Os.path,目前,我有以/path_to_file/file.txt.gz结尾的文件 我想拆分文件名(在.txt.gz之前) 给我 file.txt.gz 当 给我 ('file.txt','.gz') 是否有一个函数可以将“file”与“.txt.gz”分开 我想我可以只使用re.sub(),但想知道是否存在os.path函数 谢谢。试试这个: ".".join(os.path.basename("/path_to_file/file.txt.gz").split('.')[:1]) >>

目前,我有以/path_to_file/file.txt.gz结尾的文件

我想拆分文件名(在.txt.gz之前)

给我

file.txt.gz

给我

('file.txt','.gz')
是否有一个函数可以将“file”与“.txt.gz”分开

我想我可以只使用re.sub(),但想知道是否存在os.path函数

谢谢。

试试这个:

".".join(os.path.basename("/path_to_file/file.txt.gz").split('.')[:1])

>>'file'

os.path.splitext(os.path.splitext(os.path.basename("/path_to_file/file.txt.gz"))[0])[0]

>>'file'

你可以很容易地做到。试试看:

import os

filename = os.path.split(path)[1]
filename_wout_ext = filename.split('.')[0]
例如:

>>> path = "/path_to_file/file.txt.gz"
>>> filename = os.path.split(path)[1]
>>> filename
>>> 'file.txt.gz'
>>> filename_wout_ext = filename.split('.')[0]
>>> filename_wout_ext
>>> 'file'

令人惊讶的是,没有人提到
str.split
在该字符上拆分的最大次数:例如,
filepath.split('.',1)

只需执行一个普通的“file.txt.gz”。拆分('.')会为您提供['file',txt',gz',这还不够吗?这要简单得多!
s = "/path_to_file/file.txt.gz"
basename = os.path.basename(s) # file.txt.gz
filename = basename[:basename.find('.')] # file
extension = basename[basename.find('.'):] # txt.gz
import os

filename = os.path.split(path)[1]
filename_wout_ext = filename.split('.')[0]
>>> path = "/path_to_file/file.txt.gz"
>>> filename = os.path.split(path)[1]
>>> filename
>>> 'file.txt.gz'
>>> filename_wout_ext = filename.split('.')[0]
>>> filename_wout_ext
>>> 'file'