Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python创建每个单词列表?_Python - Fatal编程技术网

如何使用python创建每个单词列表?

如何使用python创建每个单词列表?,python,Python,这里是wav和图像文件。你可以加载它- 第一步为每个单词创建单词列表txt文件 将图像名称放入列表,列表名称就是每个单词 但是我不知道如何编写python代码来创建每个单词的图像列表。 例如: accordion-word.txt file 'accordion_1_musical_instruments.jpg' file 'accordion_2_musical_instruments.jpg' file 'accordion_3_musical_instruments.jpg

这里是wav和图像文件。你可以加载它-

第一步为每个单词创建单词列表txt文件

将图像名称放入列表,列表名称就是每个单词

但是我不知道如何编写python代码来创建每个单词的图像列表。

例如:

accordion-word.txt

  file 'accordion_1_musical_instruments.jpg'
  file 'accordion_2_musical_instruments.jpg'
  file 'accordion_3_musical_instruments.jpg'
  file 'accordion_musical_instruments.jpg'
第二步创建音频文件列表

不知道如何使用python编写代码为每个单词音频创建列表。

accordion-audio.txt

     file 'slience_2sec.mp3'
     file 'This_is_.mp3'
     file 'slience_2sec.mp3'
     file 'accordion.mp3'

谢谢大家!

您可以使用python内置模块glob

例如,要获取所有mp3文件的列表:

glob.glob('C:\Downloads\*.mp3')

请注意,上面示例中的路径格式适用于窗口。

当我只需要文件名时,我更喜欢os.listdir,而当提供绝对路径时,glob返回完整路径

我猜测图像中没有数字的名称与数字的前缀相同。没有这个premis,Regex就疯了


以下是完成您的工作的完整代码:

from os import listdir
import re

# Getting list of all image files in directory
location = 'X:test folder/'
image_list = [name for name in listdir(location) if name.endswith('.jpg')]


# Fetching all image keywords, separated by '_x'. ignoring file without it.
reg = re.compile(r'(^[^0-9]*(?=_[0-9]))')
keywords = [reg.match(name).group(0) for name in image_list if reg.match(name)]


# Create txt files per keywords
for keyword in keywords:
    filtered = [f"file '{name}'" for name in image_list if name.startswith(keyword)]

    with open(location + keyword + '-word.txt', 'w') as file:
        file.write('\n'.join(filtered))


# Fetching .wav audio clips
audios = [f"file '{name}'" for name in listdir(location) if name.endswith('.wav')]

# Saving audio clips list
with open(location + 'audio.txt', 'w') as file:
    file.write('\n'.join(audios))
结果:我的。
通过更改文件名,可以简化关键字节的方式


例如,使用空调器1代替空调器1。然后我们知道,我们需要在第一个单独的下划线为所有文件获得关键字。更简单。

谢谢!但是
PS C:\test\ttt>python。\get_list.py File“\get_list.py”,第16行filtered=[f”File{name}表示图像中的名称,如果name.startswith(k)]^SyntaxError:无效语法
请稍候,复制时可能出错。我已修复。原因是python版本。我切换到python 3.8.3。它起作用了。在3.7之前。很高兴听到这个!我不知道这是3.8新增的语法。非常感谢!我正在制作音频列表,通过你的代码学习。