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

时间:2018-07-24 18:59:23

标签: 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 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

我在做什么错?

1 个答案:

答案 0 :(得分:1)

您说您希望代码类似于

onlyTxtFiles = 'file name'
str1 = onlyTxtFiles + 'test'

但是如果onlyTxtFiles是列表,它将返回错误

一种方法是

onlyTxtFiles = 'file name'
str1 = onlyTxtFiles[0] + 'test'

每个期望值

或者您可以使用for循环