python,读取文件名的特定字符

python,读取文件名的特定字符,python,character,filenames,Python,Character,Filenames,我想打开一个文件名列表,并将文件名的特定部分保留为字符串 在bash文件(run.sh)中,我有以下代码 shopt -s nullglob for path in $emiss_data/*; do if [[ -f "$path" ]]; then filename=$(basename "$path") echo "processing $filename" fi .... done 使用上述代码读取文件名的全名(例如poll_test.txt) 例

我想打开一个文件名列表,并将文件名的特定部分保留为字符串

在bash文件(run.sh)中,我有以下代码

shopt -s nullglob

for path in $emiss_data/*; do    
  if [[ -f "$path" ]]; then
    filename=$(basename "$path")
    echo "processing $filename"
  fi
  ....
done
使用上述代码读取文件名的全名(例如poll_test.txt)

例如,我想将“poll”(前4个字符)作为字符串读取,并将文件名作为不带扩展名(即超过最后3个字符)的单独字符串读取。

适用于在windows上测试的python 3(我认为它也适用于Py 2)

import os

list_of_filenames = os.listdir("./") #local folder (or just ())
storage_4letters = []
storage_extensionless = []
for i in list_of_filenames:
    print('First 4 letters {}'.format(i[0:4]))
    print('Name without extension {}'.format(i.split('.')[0]))
    storage_4letters.append(i[0:4])
    storage_extensionless.append(i.split('.')[0])
print(storage_4letters)
print(storage_extensionless)
然而,如果文件名有2个点,它将只保存字母直到第一个点