以指定模式打开文件。
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},