我有一个包含以下字符串的列表:
Foo
我想提取:
请注意,文件名的长度可以可变。
如何在python 3中做到这一点?
答案 0 :(得分:-1)
使用.split拆分字符串并检查适当的令牌。
只需检查拆分所需令牌时是否在索引8和9中,否则相应地调整索引
令人震惊的例子:
my_list = [
"total 71708",
"-rw-rw-rw- 1 gpatwprd tmwdprd 221 Nov 19 12:36 20181116.Something name.6781773.CSV",
"-rw-rw-rw- 1 gpatwprd tmwdprd 221 Nov 19 12:36 20171116.Something name.67885.CSV"
]
for line in my_list:
tokens = line.split()
if len(tokens) >= 10 and tokens[8].split('.')[0].isnumeric() and \
(tokens[9].endswith('CSV') or tokens[9].endswith('.XLSX')):
print(tokens[9])
它打印
name.6781773.CSV
name.67885.CSV
答案 1 :(得分:-1)
以下代码将打印所有必需条目的列表,以及仅包含名称必需文件的列表。 “ data.txt”是包含要使用的数据的文件。希望这会有所帮助!
fileContent = open('data.txt','r');
readLinesfromContent = fileContent.readlines();
splitLinesforSpace = []
for line in readLinesfromContent:
splitLinesforSpace.append(line.split())
requiredEntries = []
namesofRequiredFiles = []
for idx, x in enumerate(splitLinesforSpace):
if len(x) == 10:
if x[8].startswith('20181116'):
if x[9].endswith('.CSV') or x[9].endswith('.XLSX'):
requiredEntries.append(readLinesfromContent[idx])
x[9] = x[9].split('.')
#Following gives only names of files
namesofRequiredFiles.append(x[9][0])
print(requiredEntries)
print(namesofRequiredFiles)
答案 2 :(得分:-2)
您可以使用if条件。例如
如果字符串中为“ 20181116”: 做某事