我有一个非常简单的脚本,我正在执行其他4个脚本。
第17行抛出此错误:TypeError: must be string, not int
这是第17行的全部内容:
execfile(c)
它执行前两个脚本(
a
&b
)没有问题,但在c
上失败。如果我注释掉前两行脚本,它将成功运行第17行。有什么想法吗?
整个脚本:
import datetime
today = str(datetime.datetime.today().strftime('%Y-%m-%d %H:%M'))
a = r'\\server\Scheduled_Scripts\PowerBI_part1.py'
b = r'\\server\Scheduled_Scripts\PowerBI_part2.py'
c = r'\\server\Scheduled_Scripts\PowerBI_part3.py'
d = r'\\server\Scheduled_Scripts\PowerBI_part4.py'
print "Starting at " + today
print "Executing part 1..."
execfile(a)
print "Executing part 2..."
execfile(b)
print "Executing part 3..."
execfile(c)
print "Executing part 4..."
execfile(d)
print "Complete at " + today
最佳答案
检查不同脚本中变量之间的命名冲突。尝试只使用a
运行它,只使用b
运行它,以查看是哪个导致了问题,然后查看这两个脚本。如果它们都在同一个名称空间中运行,那么很可能您使用了同一个变量名或函数名两次,并且应该是字符串的内容在前面的脚本中被声明为整数。
另外,您是否考虑过将所有内容都分组到函数中,然后只导入其他脚本?
关于python - Python TypeError:必须是字符串,而不是int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50762741/