How do I select part of a filename (leave out the extension) in Python?
本问题已经有最佳答案,请猛点这里访问。
例如,如果我有变量"file.txt",我希望只将"file"保存到变量中。我希望消除最后一个点(包括点)之外的任何内容。所以,如果我有"file.version2.txt",我就只剩下"file.version2"。有办法吗?
你必须使用
1 2 3 4 | In [3]: os.path.splitext('test.test.txt') Out[3]: ('test.test', '.txt') In [4]: os.path.splitext('test.test.txt')[0] Out[4]: 'test.test' |
类似操作的完整参考可在http://docs.python.org/2/library/os.path.html中找到。
使用模块
1 2 | import os file_name, file_ext = os.path.splitext(os.path.basename(path_to_your_file)) |
号
如果这不太长,如果文件在同一目录中,您可以这样做
1 2 3 4 | old_f = 'file.version2.txt' new_f = old_f.split('.') sep = '.' sep.join(new_f[:-1]) # or assign it to a variable current_f = sep.join(new_f[:-1]) |