我在一个目录中有一些文件名,它们的名称都是“.\subreddits\somename”\somename.db文件'。
其中一个文件的反斜杠后面有一个数字:
\subreddits\600欧元\600欧元.db你知道吗
我想
*遍历目录中的所有文件,
*获取每个文件名的中间元素/或最后一个元素
*打开这个文件。你知道吗
我无法将一个文件的文件名与反斜杠后的数字分开:
for db in os.listdir(dir_with_dbs):
print(db) # .\subreddits\600euro\600euro.db -> .\subredditsƀeuroƀeuro.db
# get middle name of db file: .\subreddits\xy\xy.db -> xy
# THIS FAILS on the backslash-number combination:
out_str = db.split("\\")[2] # list index out of range
# open file that will contain results: query_res_xy
with open("query_res_" + out_str, 'w') as out:
#execute a query on the db file
conn = sqlite3.connect(os.path.join(dir_with_dbs, db))
c = conn.cursor()
c.execute(query)
# write results of query to file with same middle/last name
for row in c.fetchall():
out.write(row + '\n')
这个问题How to manage a path with numbers after backslashes?描述了一个类似的问题,但是OP不想更改/拆分字符串。
我不能重命名的文件,我不知道哪些文件是在目录事先。你知道吗
如何让python识别反斜杠,即使后面有数字?或者我怎样才能得到文件名的中间/最后一个元素?你知道吗
我也尝试过对文件名进行encode()+decode(),但无法检索字符串中的数字。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐