Python,字符串切片(从文件位置列表中获取文件名)

马克·K

我正在尝试从文件位置列表中获取文件名。认为它涉及字符串切片。

我得出的结论是:

L = ['C:\\Design\dw\file4.doc',
'C:\\light\PDF\downloads\list.doc',
'C:\\Design\Dq\file4g.doc',
'C:\\Design\Dq\file4r.doc',
'C:\\Design\Dq\file4k.doc',
'C:\\Design\Dq\ole.doc',
'C:\\GE\easy\file\os_references(9).doc',
'C:\\mate\KLO\Market\BIZ\KP\who\Documents\REF.doc']

LL = []

for a in L:
    b = a.split('\')
    for c in b:
        if c.endswith('.doc'):
            c.replace('.doc', '')
            LL.append(c)

print LL

问题1:输出仍然包含“ .doc”。为什么,如何删除它们?

问题2:获取文件名的更好方法是什么?

谢谢。

痴呆的刺猬

第一个问题的答案是字符串是不可变的,.replace()不会修改字符串,即:

blaize@bolt ~ $ python 
>>> s = "foobar"
>>> s2 = s.replace("o", "x")
>>> print s
foobar
>>> print s2
fxxbar

我对第二个问题的回答如下:

# I use ntpath because I'm running on Linux.
# This way is more robust if you know you'll be dealing with Windows paths.
# An alternative is to import from os.path then linux filenames will work 
# in Linux and Windows paths will work in Windows.
from ntpath import basename, splitext

# Use r"" strings as people rightly point out.
# "\n" does not do what you think it might.
# See here: https://docs.python.org/2.0/ref/strings.html.
docs = [r'C:\Design\dw\file4.doc',
        r'C:\light\PDF\downloads\list.doc',
        r'C:\Design\Dq\file4g.doc',
        r'C:\Design\Dq\file4r.doc',
        r'C:\Design\Dq\file4k.doc',
        r'C:\Design\Dq\ole.doc',
        r'C:\Design/Dq/test1.doc',  # test a corner case
        r'\\some_unc_machine\Design/Dq/test2.doc',  # test a corner case
        r'C:\GE\easy\file\os_references(9).doc',
        r'C:\mate\KLO\Market\BIZ\KP\who\Documents\REF.doc']

# Please use meaningful variable names:
basenames = []

for doc_path in docs:

    # Please don't reinvent the wheel.
    # Use the builtin path handling functions.
    # File naming has a lot of exceptions and weird cases 
    # (particularly on Windows).
    file_name = basename(doc_path)
    file_basename, extension = splitext(file_name)
    if extension == ".doc":
        basenames.append(file_basename)

print basenames

祝你好运。Python是一种出色的语言。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

切片文件字符串

来自分类Dev

根据csv文件中的切片索引连接切片的字符串

来自分类Dev

根据csv文件中的切片索引连接切片的字符串

来自分类Dev

从 Java 中的字符串获取各种切片

来自分类Dev

切片Python中列表中的每个字符串

来自分类Dev

切片python字符串

来自分类Dev

从Python中的字符串打印特定切片

来自分类Dev

在Python中切片列表中的每个字符串

来自分类Dev

通过Python中的连接字符串获取文件名

来自分类Dev

Python字符串:获取python字符串切片后剩下的内容

来自分类Dev

从文件开头剪切字符串并附加到 Bash 中的文件名

来自分类Dev

从选择字符串输出中获取“父文件夹+文件名”

来自分类Dev

在 C# 中获取文件名和文件类型作为单独的字符串

来自分类Dev

获取包含文件名包含字符串的子目录的列表

来自分类Dev

Python中的字符串切片/子字符串/范围

来自分类Dev

如何从此字符串获取文件名

来自分类Dev

使用KSH从文件名获取字符串

来自分类Dev

使用列表理解对列表中的字符串进行切片

来自分类Dev

如何在Python中将文件名从远程位置转换为字符串?

来自分类Dev

计算的切片位置不同于DICOM文件中的切片位置

来自分类Dev

python列表,需要找到一个字符串,然后对该字符串进行切片,以获取附加的值

来自分类Dev

在python的文件名中复制具有特定字符串的文件

来自分类Dev

使用文件名读取最新文件包含python中的字符串

来自分类Dev

使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

来自分类Dev

结构中的字符串切片(在Rust中)

来自分类Dev

将 Python 字符串转换和切片到列表?

来自分类Dev

如何切片列表中的几个字符串?

来自分类Dev

如何从Java中的字符串获取(拆分)文件名?

来自分类Dev

在目录中搜索字符串-获取不带文件名的输出

Related 相关文章

  1. 1

    切片文件字符串

  2. 2

    根据csv文件中的切片索引连接切片的字符串

  3. 3

    根据csv文件中的切片索引连接切片的字符串

  4. 4

    从 Java 中的字符串获取各种切片

  5. 5

    切片Python中列表中的每个字符串

  6. 6

    切片python字符串

  7. 7

    从Python中的字符串打印特定切片

  8. 8

    在Python中切片列表中的每个字符串

  9. 9

    通过Python中的连接字符串获取文件名

  10. 10

    Python字符串:获取python字符串切片后剩下的内容

  11. 11

    从文件开头剪切字符串并附加到 Bash 中的文件名

  12. 12

    从选择字符串输出中获取“父文件夹+文件名”

  13. 13

    在 C# 中获取文件名和文件类型作为单独的字符串

  14. 14

    获取包含文件名包含字符串的子目录的列表

  15. 15

    Python中的字符串切片/子字符串/范围

  16. 16

    如何从此字符串获取文件名

  17. 17

    使用KSH从文件名获取字符串

  18. 18

    使用列表理解对列表中的字符串进行切片

  19. 19

    如何在Python中将文件名从远程位置转换为字符串?

  20. 20

    计算的切片位置不同于DICOM文件中的切片位置

  21. 21

    python列表,需要找到一个字符串,然后对该字符串进行切片,以获取附加的值

  22. 22

    在python的文件名中复制具有特定字符串的文件

  23. 23

    使用文件名读取最新文件包含python中的字符串

  24. 24

    使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

  25. 25

    结构中的字符串切片(在Rust中)

  26. 26

    将 Python 字符串转换和切片到列表?

  27. 27

    如何切片列表中的几个字符串?

  28. 28

    如何从Java中的字符串获取(拆分)文件名?

  29. 29

    在目录中搜索字符串-获取不带文件名的输出

热门标签

归档