Q
讀寫tcl
0
A
回答
1
雖然w+
模式將工作,但它截斷該文件,當你打開它(因爲它的修改w
模式,它做同樣的事情)。如果您不想擦除現有數據,請改爲使用r+
(在這種情況下,文件必須先存在)。
當你想創建文件如果它不存在,能夠通過相同的通道讀取和寫入,並且不想在打開時截斷它,你必須使用其他表單模式描述符(來自POSIX描述得出,如果你有興趣在助記符):
set f0 [open out11.tr {RDWR CREAT}]
(w+
是RDWR CREAT TRUNC
,r+
是平原RDWR
。)
1
下面的示例打開一個文件以w +(手段讀/寫,但截斷c內容如果文件已經存在)。然後它寫入每一行,然後回讀,寫入,然後回讀...
set lines {
{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi}
{accumsan est ut ante ornare et porta sem iaculis. Fusce a dolor}
{magna, eget viverra quam. In sem justo, hendrerit a porttitor sit}
{amet, scelerisque eu turpis. Nulla arcu arcu, condimentum vel}
{fermentum sit amet, vulputate et sapien. Aenean convallis, purus vel}
{molestie vehicula, diam eros adipiscing nibh, in dapibus nisi orci}
{ut nisl. Ut fermentum felis a lectus lacinia dapibus. Nunc cursus}
{nunc vitae massa fermentum imperdiet. In eu lectus quis arcu}
{convallis imperdiet in quis tortor.}
}
set f [open out.txt w+]
set lastRead 0
foreach line $lines {
# Write to the file
puts $f $line
# Read it back and display to stdout
seek $f $lastRead
gets $f line2
set lastRead [tell $f]
}
close $f
相關問題
- 1. Tcl:使用tcl編寫lambda和map 8.6
- 2. 鑑於tcl代碼仍在寫入,是否可以在tcl中讀取文件?
- 3. 文件在TCL中的讀取,寫入和追加
- 4. TCL和C中的讀/寫FIFO,垃圾輸出
- 5. 需要一個Tcl庫來讀寫配置文件
- 6. TCL書寫套接字
- 7. 編寫一個Tcl擴展,可用於多個版本的Tcl
- 8. TCL:關於TCL
- 9. 在tcl的foreach命令讀取文件
- 10. 閱讀TCL中的Bash環境變量
- 11. tcl exec首先讀取stdout然後stderr?
- 12. 在tcl中讀取緩衝流
- 13. tcl錯誤讀取包索引文件
- 14. TCL輸入框讀入變量
- 15. Tcl Starkit讀取的Sqlite數據庫
- 16. TCL:無法將數據寫入文件
- 17. 在tcl腳本中編寫proc avg ns2_new
- 18. 將多行寫入TCL中的文件
- 19. Tcl使用csv寫入文件
- 20. Tcl/Tk在特定行中寫入
- 21. 使TCL哈希不區分大小寫
- 22. 編寫Python或TCL VMD腳本
- 23. 如何在tcl中讀取文件並寫入其他文件替換值
- 24. 將.gif數據從作用域讀入到tcl中並寫入本地文件
- 25. tcl
- 26. 在Tcl中調用「包需要Tk」而不寫入每個.tcl文件
- 27. 如何在Tcl中將小寫更改爲大寫?
- 28. 讀寫
- 29. 文件讀/寫VS數據庫讀/寫
- 30. 在tcl
您的問題不清楚:您是否想寫1到一個文件,一次寫一行,然後2)讀你剛剛寫的行嗎? – 2012-07-29 21:19:33
你對這個'multithreading'標籤絕對正面嗎?你是否需要從多個操作系統線程同時訪問一個文件,或者只是關於交織讀/寫(即關於文件位置管理)? – kostix 2012-07-30 20:41:39