不代表积分。
代码仍然无效,因为函数名错误。如果不是故意的,最好编辑它或生成代码的伪副本,而不是让我们猜测问题所在。
要进行迭代,代码的问题是:def LoadCSV无效。def LoadCSV()是。以下截图中的证据。注意缺少()是如何显示语法错误标记的。
解决上面的问题,下一个问题是使用csvfile.close()。如果代码编写正确,一旦代码超出with的范围,文件将自动关闭。即使代码的重命名部分在函数内部,也不会造成任何问题。
警告的最后一个词——使用格式字符串%x将生成类似08/25/14的日期字符串,具体取决于语言环境。显然,这是错误的,因为/在Windows中的文件名中无效(请尝试使用此命令手动重命名文件)。最好是非常明确,只使用%m%d%y代替。
最后,看看我这端的运行代码。如果您的代码不是这样的结构,那么我们猜不到的其他错误可能会出现。

运行后结果如下:

参考代码:import csv
import os
import time
def LoadCSV():
with open("test.csv", "r") as csvfile:
targetReader = csv.reader(csvfile, delimiter=",")
for row in targetReader:
print row
new_name = "test.%s.csv" % time.strftime("%m%d%y")
print new_name
os.rename("test.csv", new_name)
LoadCSV()
请注意,在我这边,没有什么可以监视我的文件。Antivirus已打开,显然没有启用多线程。检查其他脚本是否同时监视此文件的更改。最好不要监视文件,而是将文件作为参数发送给另一个函数,因为这可能是“被使用”的原因。一方面,这在我这边是未经测试的,最好用新名称复制文件,而不是重命名它。
希望这有帮助。
博客讨论了Python代码中的函数命名错误,指出了`defLoadCSV`应更正为`def load_csv()`。文章还提醒在with语句中文件会自动关闭,无需额外调用`csvfile.close()`。此外,提到了日期格式问题,建议使用`%m%d%y`确保文件名有效。最后,提供了修正后的代码示例,涉及文件重命名和可能的文件监控冲突问题。
424

被折叠的 条评论
为什么被折叠?



