如何将部分文件名转换为变量?

时间:2017-12-08 10:50:36

标签: python python-3.x

我有很多.csv个文件,我想解析文件名。

文件名采用以下格式:

name.surname.csv

如何编写一个用文件名组件填充两个变量的函数?

A = name
B = surname

6 个答案:

答案 0 :(得分:4)

使用str.split并将结果解压缩到AB和另一个"匿名"变量来存储(和忽略)扩展名。

filename = 'name.surname.csv'
A, B, _ = filename.split('.')

答案 1 :(得分:1)

试试这个,名称被.拆分并存储在A和B

a="name.surname.csv"
A,B,C=a.split('.')

当然,这假定您的文件名采用first.second.csv

格式

答案 2 :(得分:1)

如果文件名总是具有完全相同的形式,只有两个句号,那么你可以这样做:

>>> name, surname, ext = "john.doe.csv".split(".")
>>> name
'john'
>>> surname
'doe'
>>> ext
'csv'
>>> 

答案 3 :(得分:1)

简单使用str.split()方法和这个函数。

def split_names(input:str):
    splitted = input.split(".")
    return splitted[0], splitted[1]

A, B = split_names("name.surname.csv")

答案 4 :(得分:1)

首先使用扩展名“.csv”查找目录中的所有文件,然后将其拆分为“。”

import os
for file in os.listdir("/mydir"):
    if file.endswith(".csv"):
        # print the file name
        print(os.path.join("/mydir", file))
        # split the file name by '.'
        name, surname, ext = file.split(".")
        # print or append or whatever you will do with the result here

答案 5 :(得分:0)

如果您在系统中的特定位置保存了文件,则必须先获取文件名:

# if filename = name.surname.csv then discard first two lines
filename = "C://CSVFolder//name.surname.csv"
absfilename = filename.split('//')[-1]
# by concept of packing unpacking
A,B,ext = absfilename.split('.') 

否则你可以提供

A,B,ext = "name.surname.csv".split('.')
print A,B,ext

快乐编码:)