2016-12-26 87 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:]