2016-12-26 54 views
1

我是新来的python,我想分割我从目录中读取的文件名。我可以从扩展名中拆分文件名,但是拆分名称就是我想要的。这是我的代码...你能帮我解决这个问题吗?我想在一个和日期时间错误日志和12月与日期(即分成两个部分,错误进入第二部分需要将文件名拆分为两部分使用python

import os 
import os.path 
path = 'C:\\Users\\abc\\Desktop\\xls' 
text_files = [os.path.splitext(f)[0] for f in os.listdir(path)] 
print (text_files) 
r = str(text_files) 
f = "C:\\Users\\abc\\xls" 
f = open('output.txt', 'w') 
f.write(r) 
f.close() 

目录中的文件的确切名称是:

  1. Error_Log_December_10_2016_06_19_05 PM.txt
  2. Error_Log_December_15_2016_06_19_05 PM.txt

    各地50个文件都存在这样的将被拆分。请帮助。

+1

你是什么意思分裂名称?你想让结果看起来像什么? – Octo

+1

忘掉其他一切。你只是想以特定的方式分割一个字符串,其余的是分心。了解如何创建[mcve]。 –

+0

我想让文件像这样 - Error_Log&December_10_2016_06_19_05 PM –

回答

2

既然你已经知道如何删除扩展的文件名。

v = 'Error_Log_December_15_2016_06_19_05 PM' 

a = v.split('_') 

errLog = '_'.join(a[0:2]) 

dateString = '_'.join(a[2:]) 
+0

不,它不起作用。代码运行但不起作用 –

+0

啊,我明白你的意思了。因为你不打印变量,你没有输出。 – Octo

+0

不,它说----'list'对象没有属性'split'!! –

0

如果名称总是以Error_Log开头,那么您只需将它像一个字符数组一样。

v = "Error_Log_December_10_2016_06_19_05 PM.txt" 
print v[0:9] 
print v[10:]