PYTHON:尝试获取目录中的每个.sql文件作为输入。所以我可以打开()然后逐一阅读()

PYTHON:尝试获取目录中的每个.sql文件作为输入。所以我可以打开()然后逐一阅读(),python,python-3.x,Python,Python 3.x,打印时间: C:\Users\sebastian\Documents\Code\sql\u tests\sql\u test.sql C:\Users\sebastian\Documents\Code\sql\u tests\sql\u test2.sql 打印时间[0] C 问题是它认为目录中的每个字符都是列表的一个元素。我可以从它们之间用新行分隔的列表中创建一个新列表吗?这里是一个例子,我在创建列表时做了一些更改 import os from os import walk import

打印时间:

C:\Users\sebastian\Documents\Code\sql\u tests\sql\u test.sql

C:\Users\sebastian\Documents\Code\sql\u tests\sql\u test2.sql

打印时间[0]

C


问题是它认为目录中的每个字符都是列表的一个元素。我可以从它们之间用新行分隔的列表中创建一个新列表吗?

这里是一个例子,我在创建列表时做了一些更改

import os

from os import walk

import psycopg2

take = []

for root,dirs,files in walk('C:\\Users\\sebastian\\Documents\\Code\\sql_tests'):

    for file in files:
        if file.endswith('.sql'):
            take = os.path.join(root,file)
            print(take)

f = open(takes)

print(f)

full_sql = f.read()

print (full_sql)

您想要类似[file1.sql、file2.sql、file3.sql….]的列表吗?@GiovaniSalazar是的。因为我可以使用for循环遍历每个目录。。。我的想法是这样的:对于文件列表中的脚本:用open(script,'r')作为f:sql\u to\u do=f.read()打印(sql\u to\u do)谢谢!我做了forloop,能够读取和执行每个文件!
import os
from os import walk
import psycopg2

take = []
for root,dirs,files in walk('D:\\MY\\PAHT\\ALLSQLFILES\\'):
    for file in files:
        if file.endswith('.sql'):
            #take = os.path.join(root,file)
            take.append(os.path.join(root,file))
print(take)