我有一个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文件而不必考虑所需的额外空间,甚至空行等吗
谢谢
您正在使用
s[0:len(s) -1]
删除每行末尾的换行符。问题是文件的最后一行没有以换行符结尾,所以您要删除文件名的最后一个字符。你知道吗使用
strip()
方法从字符串中删除前导和尾随空格。你知道吗如果没有换行符,就不会删除任何内容。你知道吗
顺便说一句,
s[0:len(s) -1]
可以更简单地写成s[:-1]
。当片尾为负时,从片尾开始计数。你知道吗相关问题 更多 >
编程相关推荐