Урок 17: Варианты открытия файла

[А] Анатолий Шалобасов, 21 июля 2016, 19:51 , 2 подписчика

В самой программе и в примерах мы задаем открытие файла таким образом

current_path = File.dirname(__FILE__)
file_path = current_path + "/data/aphorizmus.txt"

В данном случае мы указываем папку и имя файла, который мы хотим открыть. И задаем возможность открыть программу, которая использует это файл из любого места.

Вопрос такой есть ли способ задать доступ к файлу таким образом чтобы не указывать папку где он лежит? И как это можно осуществить.

Что то на подобие такого:

current_path = File.dirname(__FILE__)
file_path = current_path + "имя_файла.txt"

Обсуждение (4)


Михаил Бутлицкий Учитель

[М]

Второй кусок вашего кода как понимаете откроет файл в той же папке, что и выполняемый скрипт.

Совсем без указания пути файл адресовать в популярных файловых системах невозможно (путь - часть имени файла по большому счету).

Но можно попробовать сделать это неявно. Зависит от цели — какую задачу вы пытаетесь решить, удаляя из проги информацию о пути?


Анатолий Шалобасов

[А]

Задачу можно поставить таким образом, если я знаю имя файла и знаю просто сто он есть на определенном диске, каким образом мне задать путь к нему , чтобы его открыть.


Михаил Бутлицкий Учитель

[М]

В такой постановке придется во-первых найти этот файл в программе, во-вторых выбрать нужный файл, если вдруг нашлось несколько таких.

Это все реализуемо (http://stackoverflow.com/questions/1755665/get-names-of-all-files-from-a-folder-with-ruby) но немного странно.

Откуда выросла такая задача?


Анатолий Шалобасов

[А]

Просто , когда заново просмотрел курс, подумал а вдруг программы саму могут перенести куда-нибудь на диск отдельно от файлов, которые в ней применяются и подумал как реализовать этот момент.Спасибо за ответ!