Python 如何将文件名从文件夹提取到变量而不是列表?

Python 如何将文件名从文件夹提取到变量而不是列表?,python,string,python-3.x,Python,String,Python 3.x,我想从文件夹中提取文件名,并能够将这些名称用作字符串: 我可以从文件夹中获取文件名,但它们将进入列表。理想情况下,我不想迭代列表。迄今为止的代码: from os import listdir from os.path import isfile, join f = '/path/to/file/*.sql' for files in glob.glob(f): with open(files, 'r',encoding = "utf-8", errors="replace") as

我想从文件夹中提取文件名,并能够将这些名称用作字符串:

我可以从文件夹中获取文件名,但它们将进入列表。理想情况下,我不想迭代列表。迄今为止的代码:

from os import listdir
from os.path import isfile, join

f = '/path/to/file/*.sql'
for files in glob.glob(f):
    with open(files, 'r',encoding = "utf-8", errors="replace") as f:
        path = "/path/to/file/folder"
        onlyTxtFiles = [f for f in listdir(path) if isfile(join(path, f)) and  f.endswith(".sql")]
不确定如何将文件名字符串放入变量“onlyTxtFiles”

编辑

我希望能够做到这一点:

onlyTxtFiles = 'file name'
str1 = onlyTxtFiles + 'test'
编辑:

这是我做的for循环,但我没有在文件上循环:

f = '/path/to/file/sql_files/*.sql'
for files in glob.glob(f):
    with open(files, 'r',encoding = "utf-8", errors="replace") as f:
        path = "/path/to/file/sql_files/"
        onlySqlFiles = [f for f in listdir(path) if isfile(join(path, f)) and  f.endswith(".sql")]
        for x in onlySqlFiles:
            file_name_insert = x

我做错了什么

您说您希望代码类似于

onlyTxtFiles = 'file name'
str1 = onlyTxtFiles + 'test'
但是如果
onlyTxtFiles
是一个列表,那么它将返回一个错误

一种方法是

onlyTxtFiles = 'file name'
str1 = onlyTxtFiles[0] + 'test'
对于每个期望值


或者你可以使用for循环

我很困惑。如果您有多个文件名,并且希望这些文件名位于一个变量中,为什么不需要一个列表?将多个值关联到一个名称几乎正是列表的用途。@Kevin我做了一次编辑,我不确定如何将文件名去掉,以便将它们附加到不同的字符串。例如,您的目录包含文件“foo”、“bar”和“baz”。你希望结果是什么?三个具有“footest”、“bartest”和“baztest”值的对象?这些变量的名称是什么<代码>str1、
str2
str3
?如果是这样的话,你要求的是变量,99.9999%的时候,你应该使用列表或字典。相关阅读:“这是我做的一个for循环,但我没有在文件上循环:”当然可以。什么让你觉得你不是?如果您要说“好的,在循环之后,我打印(文件名插入),它只打印一个值”,那么您的问题是:您应该在循环内部执行此操作。@Kevin您是正确的。谢谢,所以我选择了环线路线。但这里的问题是,每个for循环都不会迭代文件名。参见编辑