#text #count #specman
#текст #подсчет #specman
Вопрос:
Метод files.file_size() возвращает размер файла, но не существует метода, который возвращает количество строк.
Комментарии:
1. cadence.com/community/CSSharedFiles/forums/storage/69/18110/…
2. Я имею в виду количество строк текстового файла данных, а не строк кода specman
Ответ №1:
Вы можете перебирать строки в файле и просто считать их. Например:
var count: int;
for each line in file "my_file.txt" do {
count = 1;
};
out("The file has ", count, " lines");
Обратите внимание, что это не очень эффективно (в отличие от file_size(), она фактически будет считывать содержимое файла построчно). Итак, в случае, если вам нужно использовать количество строк одного и того же файла несколько раз, разумно оставить его в стороне в каком-либо поле или переменной, а не выполнять этот цикл каждый раз.
Ответ №2:
Вы можете использовать метод output_from() для передачи команды командной оболочке. Он возвращает список строк.
var lines: int;
var filename: string = "myfile.txt";
try {
lines = output_from(append("wc -l | cut -d " " -f1", filename)[0]).as_a(int);
} else {
error("...")
};