我想用Python编写一个脚本,用于存储图像文件名列表并将其打印到文本文件中

我想用Python编写一个脚本,用于存储图像文件名列表并将其打印到文本文件中,python,command-line,Python,Command Line,我创建了一个文件夹“JPG”,并将图像列表与python代码一起放在该文件夹中,但当我尝试运行此代码时,它会打印出“/imagename.JPG”,但我只希望文本文件中有“imagename.JPG” import os def GetFiles(dir,f): basedir = dir subdirs = [] for fname in os.listdir(dir): fileName = os.path.join(basedir, fname)

我创建了一个文件夹“JPG”,并将图像列表与python代码一起放在该文件夹中,但当我尝试运行此代码时,它会打印出“/imagename.JPG”,但我只希望文本文件中有“imagename.JPG”

import os
def GetFiles(dir,f):
    basedir = dir
    subdirs = []
    for fname in os.listdir(dir):
        fileName = os.path.join(basedir, fname)
        if os.path.isfile(fileName):
            if fileName.endswith(".jpg"):
                f.write(fileName+"\n")
                print fileName
        elif os.path.isdir(fileName):
            subdirs.append(fileName)
    for subdir in subdirs:
        GetFiles(subdir,f)
f=open("fileName.jpg",'w')
GetFiles('./',f)
f.close()

在文本文件中保存或打印文件名之前,请运行以下操作:

fileName= fileName.replace('/','')
注意,根据,你应该写
文件名
而不是
文件名

在文本文件中保存或打印文件名之前,请运行以下操作:

fileName= fileName.replace('/','')
注意,根据,你应该写
文件名
而不是
文件名

我将其更改为打印文件名。替换('./','')但在文本文件中,它仍然打印'./imagename.jpg',但在终端中显示'imagename.jpg'。如何解决这个问题?是因为“GetFiles(“./”,f)”吗?我假设您已将打印更改为替换,而不是实际写入?如果是这种情况,那么f.write(fileName.replace('./','')+“\n”)我将其更改为print fileName.replace('./',''),但在文本文件中,它仍然打印'./imagename.jpg',但在终端中显示'imagename.jpg'。如何解决这个问题?是因为“GetFiles(“./”,f)”吗?我假设您已将打印更改为替换,而不是实际写入?如果是这种情况,则f.write(fileName.replace('./','')+“\n”)