我正在MATLAB中使用dir('*.txt')
從文件夾中讀取文本文件。文本文件被命名爲0, 4, 8, 12, ..180.txt
。 dir
首先返回0
,然後100
,然後104
等。這是爲什麼發生?Matlab dir('*。txt')命令未按順序列出txt文件
0
A
回答
2
Lexicographical ordering作品只在那就是信息尋找需要作出決定。在我們的例子中,信息是文件名中字符的ASCII值。請看下面的例子:
如果我們有兩個文件的名稱
10.txt
和2.txt
,上市機制將比較1 ST字符這些文件,即1
與2
,並返回取最小,在這種情況下是屬於10.txt
的1
。相反,如果我們有
2.txt
和20.txt
,第一個字符是一樣的,所以下一個字符進行比較,要麼是.
或0
。這裏,因爲.
的ASCII值是46
而0
是48
,所以2.txt
將首先返回。
你可以總是有你需要的文件名的最大位數,意味着解決這個問題:
0.txt --> 000.txt
4.txt --> 004.txt
25.txt --> 025.txt
180.txt --> 180.txt
然後文件將在預期的順序返回。
0
如果你對文件的順序和你已經知道他們的名字敏感,你不必使用dir
都:
for ii=0:4:180
filename = sprintf('%d.txt', ii);
fid = fopen(fullfile('/path/to', filename), 'r');
% ... do the processing here
fclose(fid);
end
相關問題
- 1. 順序按日期txt文件用vb.net
- 2. 按照字母順序排列來自txt文件的分數
- 3. Matlab未定義變量「txt」或類「txt」
- 4. MATLAB出口datestr成txt文件
- 5. Matlab的:從txt文件
- 6. textscan txt文件 - Matlab的
- 7. Matlab .txt文件分析
- 8. 命令爲「格式化」 TXT文件
- 9. 將DOS命令保存到txt文件
- 10. 從txt文件運行bash命令
- 11. 如何排序.txt或.csv文件(matlab)
- 12. Python - 按順序模式導入txt
- 13. FTP命令「get * .txt」錯誤「550文件未找到」
- 14. 刪除.txt文件未在命令提示符
- 15. Java Eclipse - .txt文件未導出到.jar
- 16. 按順序連接文件Linux命令
- 17. 命令行輸出到TXT文件(Java.exe -version)返回空白
- 18. 在.txt命令提示符輸出中運行jar文件
- 19. 在txt文件上顯示php輸出Linux命令行
- 20. 未找到Java .txt文件
- 21. 按行讀取txt文件
- 22. 閱讀txt文件列出的Android/FileNotFound
- 23. 從txt文件導出Python程序
- 24. 輸出到.txt文件
- 25. r輸出至txt文件
- 26. 輸入到txt文件,txt文件到列表元素
- 27. 讀取整數。在命令行文件(TXT),並偶奇文件
- 28. Bat文件,執行與來自txt文件的輸入命令
- 29. 閱讀txt文件到MATLAB矩陣
- 30. Matlab:在文件txt中複製數組
這只是詞典排序的工作原理...... –