我有一个非常简单的脚本,我正在执行其他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/

10-09 19:15