在Python中读取.txt文件时出现意外的字符带

2024-09-30 03:23:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python脚本,它从一个.txt文件中读取DB表名,对它们执行一组SQL语句,并输出一个带有结果的.CSV文件。.txt文件如下所示:

TableA
TableB
TableC

我有这样的代码可以读取该文件:

f = open("table.txt", "r")
for s in f:
    cfg_tbl = s[0:len(s) -1]
    func_1(cfg_tbl)
f.close()

(func_1是除此之外执行sql的函数,不重要)

我遇到的问题是,当我保存.txt文件并且光标正好位于“TableC”中的“C”旁边时,“C”会被截断。为了使文件正常工作,我必须在最后一个表后面多留一个空格。但如果我改变这个:

cfg_tbl = s[0:len(s) -1]

对此:

cfg_tbl = s[0:len(s)]

它的错误是:

Invalid argument: 'TableA \n.csv'

你知道如何读取.txt文件而不必考虑所需的额外空间,甚至空行等吗

谢谢


Tags: 文件csv代码txt脚本dbsqllen
1条回答
网友
1楼 · 发布于 2024-09-30 03:23:18

您正在使用s[0:len(s) -1]删除每行末尾的换行符。问题是文件的最后一行没有以换行符结尾,所以您要删除文件名的最后一个字符。你知道吗

使用strip()方法从字符串中删除前导和尾随空格。你知道吗

cfg_tbl = s.strip()

如果没有换行符,就不会删除任何内容。你知道吗

顺便说一句,s[0:len(s) -1]可以更简单地写成s[:-1]。当片尾为负时,从片尾开始计数。你知道吗

相关问题 更多 >

    热门问题