首页 > 解决方案 > PYTHON:试图获取目录中的每个 .sql 文件作为输入。所以我可以打开()然后读取()每个

问题描述

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)

打印:

C:\Users\sebastian\Documents\Code\sql_tests\sql_test.sql

C:\Users\sebastian\Documents\Code\sql_tests\sql_test2.sql

打印 [0]

C

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

标签: pythonpython-3.x

解决方案


这是一个例子,我在你建立列表的方式时做了一些改变

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)

推荐阅读