问题描述
美好的一天! 我想知道是否有任何方法可以允许不同的编程语言同时访问 csv。 我使用 c# 获取实时股票市场数据,然后 Python 对这些数据进行计算,然后将数据返回到 csv 文件以供 c# 再次读取,如果我使用多个步骤,即收集历史数据预测历史数据并读取历史数据,但是当我尝试一步(实时)执行此操作时,出现以下错误。
[Errno 13] Permission denied: 'CurrencyPair-Minute.csv'
我认为这是 c# 程序使用该文件的结果。 我用以下参数打开的
File.Open(fiName,FileMode.Open,FileAccess.ReadWrite,FileShare.Write);
我只在程序停止时关闭数据流,并且流在 c# 程序中不断打开以进行读写。 如果我在文件未被读取或写入时关闭流,我得到的错误是
Crashed in (MethodName) with ArgumentException: Stream was not readable.
此外,这将不起作用,因为 Python 程序需要不断检查文件是否有更新。
任何帮助将不胜感激
谢谢
解决方法
在获取数据并写入 csv 并在 C# 中关闭 csv 文件后,您应该能够从 C# 文件运行 python 脚本。请参阅此处:How do I run a Python script from C#?。
流程是这样的:
C#
- 获取数据
- 写入 csv
- 关闭文件
- 调用python脚本
蟒蛇
- 进行计算
- 写入文件
- 关闭文件
- 退出