【发布时间】:2020-12-21 05:56:15
【问题描述】:
美好的一天! 我想知道是否有任何方法可以允许不同的编程语言同时访问 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 程序需要不断检查文件是否有更新。
任何帮助将不胜感激
谢谢
【问题讨论】:
-
如果你只想阅读,你应该指定
FileAccess.Read和FileShare.ReadWrite -
写入临时文件。写入完成后,将其移至其他进程可以读取的新文件名。因此,有一个显式的写入步骤,然后是读取步骤 - 不会同时发生。
标签: python c# csv connect live