проверка файла на существование

Страницы: 1
RSS
проверка файла на существование
 
помогите пожалуйста написать кусок кода
Код
 function status_container(file_path,value)
        cf=io.open(file_path,"w+")
        cf:write(value)
        cf:flush()
        cf:close()
end

Если файл существует, не трогать его. Если не существует, то с помощью функции status_container(file_path,value)  создать его и вписать в него переменную x.
Спасибо
 
Получить длину файла

или

библиотека lfs
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Либо просто откройте этот файл на чтение и посмотрите результат действия
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
s_mike@rambler.ru написал:
Получить длину файла

или

библиотека lfs
лежит в папке с луа какой то lfs.dll Это о нём речь?
А то я не программист, и плохо разбираюсь.
А за функцию спасибо, скорее всего возьму её.
 
Ещё в стандартной Lua for Windows 5.1 есть path.lua, где много всего полезного.

Код
local path = require"pl.path"
if path.exists(filename) then
   ...
end
 
Цитата
vgi написал:
Ещё в стандартной Lua for Windows 5.1 есть path.lua, где много всего полезного.
А подскажите пожалуйста, где его скачать и куда положить нужно?  
 
у меня сейчас проверка на существование файла производится вот так:

file_sdelki_name = "c:\\filesdelki"
file_sdelki = io.open(file_sdelki_name,"r+"); -- Пытается открыть файл в режиме "чтения/записи"
-- Если файл не существует то создает
if file_sdelki == nil then
file_sdelki = io.open(file_sdelki_name,"w"); -- Создает файл в режиме "записи"
FileCloseWithCheck(file_sdelki); -- Закрывает файл
file_sdelki = io.open(file_sdelki_name,"r+"); -- Открывает уже существующий файл в режиме "чтения/записи"
end;

-- закрывает файл, только если он был ранее открыт
function FileCloseWithCheck (param_file)
if if_fileopend(param_file) then
param_file:close()
end
end --FileCloseWithCheck
 
-- проверяте статус файла
-- возвращает true если файл открыт
-- возвращает false если файл не открыт
function if_fileopend (param_file_status)
if param_file_status == nil then
return false
else
local file_string = tostring(param_file_status)
-- message("file_string="..file_string)
if string.find(file_string,"(closed)") ~= nil then
return false
end
if string.find(file_string,"file ".."%(") ~= nil
then
return true
else
message(param.client..": функция if_fileopend не смогла понять статус файла "..file_string)
return false
end
end
end --if_fileopend
 
Цитата
Sergey Denegin написал:
А подскажите пожалуйста, где его скачать и куда положить нужно?

Скачайте отсюда https://code.google.com/archive/p/luaforwindows/downloads два первых дистрибутива LuaForWindows_v5.1.4-46.exe и vcredist_x86.4053.exe. При установке они должны лежать рядом.
После установки, найдёте path.lua в C:\Program Files\Lua\5.1\lua\pl.
И не забудьте про
Код
package.path = package.path .. ";C:/Program Files/Lua/5.1/lua/?.lua"
Страницы: 1
Читают тему
Наверх