【问题标题】:How do I select part of a filename (leave out the extension) in Python? [duplicate]如何在 Python 中选择文件名的一部分(省略扩展名)? [复制]
【发布时间】:2014-04-22 19:29:20
【问题描述】:

例如,如果我有变量“file.txt”,我希望能够只将“文件”保存到变量中。我想要的是消除最后一个点(包括点)之外的任何东西。所以如果我有“file.version2.txt”,我会留下“file.version2”。 有没有办法做到这一点?

【问题讨论】:

标签: python string textselection


【解决方案1】:

你必须使用os.path.splitext

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

【讨论】:

  • 这正是我所需要的。在使用 os.path.splitext 之前,我需要添加的只是“import os”
  • 如果你得到了答案然后选择它作为答案:)
  • 它告诉我我必须等待几分钟,否则我会:)
  • 如果它告诉你等待,那么你必须;)
【解决方案2】:

使用模块os.path,您可以检索文件的全名,然后删除扩展名:

import os
file_name, file_ext = os.path.splitext(os.path.basename(path_to_your_file))

【讨论】:

    【解决方案3】:

    如果这不是太长,如果文件在同一目录中,您可以这样做

    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])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 2021-07-24
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 2020-03-02
      相关资源
      最近更新 更多