python - 在 python 中分割文件路径字符串时出错

标签 python list path

这就是我正在做的事情。我正在从文件夹中获取文本,修改该文本,然后将其写入具有修改后的文件名的另一个文件夹。我正在尝试将文件名建立为变量。不幸的是,这种情况发生了:

import os
import glob
path = r'C://Users/Alexander/Desktop/test/*.txt'
for file in glob.glob(path):
    name = file.split(r'/')[5]
    name2 = name.split(".")[0]
    print(name2)

输出:test\indillama_Luisa_testfile

文件名为“indillama_Luisa_testfile.txt”,它保存在我桌面上名为“test”的文件夹中。

Python 在文件名中包含“test\”。如果我尝试在 [6] 处分割名称,它会说索引超出范围。我正在使用正则表达式,并且假设它将“/*”作为单个单元读取,而不是作为文件目录中的斜杠。

如何获取文件名?

最佳答案

您可以通过操作系统路径分隔符进行分割:

import os
import glob

path = r'C://Users/Alexander/Desktop/test/*.txt'
for file in glob.glob(path):
    name = file.split(os.path.sep)[-1]
    name2 = name.split(".")[0]
    print(name2)

关于python - 在 python 中分割文件路径字符串时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37713032/

相关文章:

python - 模块未找到错误: No module named 'tensorflow' In Jupyter Notebook

Python 2.7.2 一个变量的多个值

android - Phonegap 运行 android 不工作

python - 如果 RAM 不是问题,是逐行读取更快还是将所有内容读入 RAM 并访问它? - Python

python - 关于模块长度推理和文档字符串与代码行比率的 Pylint 消息

list - 检查项目是否在列表中(Lisp)

c# - 如何检查 C# 中是否存在列表索引?

html - CSS 中的无序列表不会居中

linux - 在 linux 的 "local"工具链上

python - bash : 'command not found' for python, r 和 nano