open

以指定模式打开文件。

open()函数返回一个File对象,用于操作文件。 File对象

open(filename) open(filename, mode)

文件名称。参数filename是包含文件名的路径。由于托管者与回测系统都支持os操作,需要注意在非回测环境下,文件操作被限制在托管者目录下实盘数据库文件同级目录的files文件夹中,因此不支持使用绝对路径操作任何文件。关于参数filename的这个注意事项后续不再赘述。 filename true string 指定文件的打开模式。 mode false string


function main() {
    let fileHandle = os.open("output.txt", "w+")
    if (!fileHandle) {
        Log("Failed to open file")
        return
    }
    let bytesWritten = fileHandle.write("Hello FMZ!")
    Log("Bytes written:", bytesWritten)     // Bytes written: 10
    fileHandle.seek(0, 0)
    let fileContent = fileHandle.read()
    Log("File content read:", fileContent)  // File content read: Hello FMZ!
    fileHandle.close()
}
创建文件,写入数据后再读取。

文件打开模式:

  • r : read(只读,文件必须存在)

  • w : write(只写,文件不存在则创建,存在则清空内容)

  • a : append(追加写入,文件不存在则创建,存在则写入到末尾)

  • + : 在 r/w/a 后加 + 表示既可以读也可以写(例如 “r+”, “w+”, “a+“)

  • b : binary(二进制模式,常用于 Windows 区分文本/二进制文件,例如 “rb”, “wb”) 文件的打开/创建位于实盘数据库文件目录(xxx.db3,其中xxx为实盘Id)下的files文件夹中。

{@fun/OS/File File}, {@fun/OS/ListFilesResult ListFilesResult}, {@fun/OS/FileStat FileStat}, {@fun/OS/os/open open}, {@fun/OS/os/fgets fgets}, {@fun/OS/os/fputs fputs}, {@fun/OS/os/mmap mmap}, {@fun/OS/os/getRootDir getRootDir}, {@fun/OS/os/listFiles listFiles}, {@fun/OS/os/exists exists}, {@fun/OS/os/remove remove}, {@fun/OS/os/mkdir mkdir}, {@fun/OS/os/rmdir rmdir}, {@fun/OS/os/rename rename}, {@fun/OS/os/stat stat}, {@fun/OS/os/exit exit},