我有一个部署的django webapp,它一直工作正常。它抓取网站以获取新发布的.csv文件,然后使用它们进行数据分析,然后将其返回给用户。
最新的.csv未被识别为已部署版本的文件,而是在本地计算机上的测试版本上。结构如下:
-indicator-analyser
-Analyser
-AnalysisScripts
-uploads
-data
-2017
-Monthly_File_Jun_Final.csv
-Monthly_File_Sep_Final.csv
当用户尝试在Monthly_File_Jun_Final.csv
上运行脚本时,Web 应用程序将按预期执行。当他们在Monthly_File_Sep_Final.csv
上运行相同的脚本时,django 会抛出一个错误,因为没有找到文件。我已经获取了传入的文件路径并使用它来在资源管理器中打开文件,并且我使用相同的文件路径将.csv加载为控制台中 pandas 中的数据帧,没有问题。
传递给加载脚本的路径为:
C:\webapp\indicator-analyser\Analyser/uploads/data/2017/Monthly_File_Sep_Final.csv
当使用os.path.isfile(filepath)
计算时,它被返回为False
。但是,当选择另一个文件时,将返回该文件并将其识别为文件:
C:\webapp\indicator-analyser\Analyser/uploads/data/2017/Monthly_File_Jun_Final.csv
仅供参考,这是在 IIS 服务器上运行的。我已经重新启动了机器和服务器,但无济于事。
总而言之,我可以访问此文件:
- 通过控制台
- 在我的本地实例上
- 通过我的文件资源管理器
但它在实时 django 实例中不被识别为文件。
这是通过删除抓取的文件并重新下载它并将其放置在完全相同的位置来解决的。我不知道为什么这已经解决了它,但它现在正在工作。