Python – IOError: Нет такого файла или каталога: u'lastid.py 'для файла в том же каталоге. Работает на месте, не на Хереку

Я подозреваю, что это очень новичок вопрос, но я не могу найти какие-либо решения, которые помогают 🙁 Я пытался начать с Python, создав простой бот Twitter, который отвечает на людей, которые чирикают на нем.Это работало локально, и он не работает на Heroku.

Быстрое изложение: каждый раз, когда бот-твиты, он использует скрипт mainscript.py, который записывает идентификатор последнего твита в отдельный файл с именем lastid.py. В следующий раз, когда скрипт запускается, он открывает lastid.py, проверяет число внутри текущего списка твитов и отвечает только тем, у кого больше идентификационный номер, чем тот, который хранится в файле lastid.py.

fp = open("lastid.py", 'r') last_id_replied = fp.read() fp.close() #(snipped - the bot selects the tweet and sends it here...) fp = open("lastid.py", 'w') fp.write(str(status.id)) fp.close() 

Это прекрасно работает на местном уровне. Хорошо работает. Однако, когда я загружаю его в Heroku, я получаю эту ошибку:

 Traceback (most recent call last): File "/app/workspace/mainscript.py", line 60, in <module> fp = open("lastid.py", 'r') IOError: [Errno 2] No such file or directory: u'lastid.py' 

Я абсолютно на 100% уверен, что lastid.py и mainscript.py находятся на сервере и внутри одного и того же каталога – я проверил три раза, выполнив bash on heroku. Мой файл .gitignore пуст, поэтому он не имеет ничего общего с этим.

Я не понимаю, почему такая простая команда, как «открыть файл в том же каталоге и прочитать его», не работает на сервере. Что я сделал неправильно?

(Я понимаю, что я должен был проработать некоторые уроки, прежде чем пытаться создать что-то обычай на новом языке, но теперь я начал это, я бы очень хотел его закончить – любая помощь, которую могут предложить любой, будет очень оценена.)

  • Разрешено ли ведение журнала вне определения функции?
  • Создание Python с использованием неправильной версии GCC на OS X
  • Как найти все точки пересечения между двумя контурными наборами эффективным образом
  • Разбор заголовка HTTP-запроса с помощью Python
  • Вывод текста за пределы фигуры
  • Чтение файла без символов новой строки
  • python setuptool Как я могу добавить зависимость для libxml2-dev и libxslt1-dev?
  • Монитор сетевого трафика с pcapy в python
  • One Solution collect form web for “Python – IOError: Нет такого файла или каталога: u'lastid.py 'для файла в том же каталоге. Работает на месте, не на Хереку”

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

    Вот такая же настройка:

     oliver@aldebaran /tmp/junk $ cat test.txt a b c baseoliver@aldebaran /tmp/junk $ cat sto.py with open('test.txt', 'r') as f: for line in f: print(line) baseoliver@aldebaran /tmp/junk $ python sto.py a b c baseoliver@aldebaran /tmp/junk $ cd .. baseoliver@aldebaran /tmp $ python ./junk/sto.py Traceback (most recent call last): File "./junk/sto.py", line 1, in <module> with open('test.txt', 'r') as f: IOError: [Errno 2] No such file or directory: 'test.txt' 

    Чтобы решить эту проблему, импортируйте os и используйте абсолютные пути:

     import os MYDIR = os.path.dirname(__file__) with open(os.path.join(MYDIR, 'test.txt')) as f: pass # and so on 
    Interesting Posts

    «admin» не является зарегистрированным пространством имен в Django 1.4

    синусоидальной волны, которая экспоненциально изменяется между частотами f1 и f2 в заданное время / количество выборок

    Обтекание подпроцессом 'stdout / stderr

    Как правильно вводить пользователя, пока я не захочу выйти?

    Что такое питонический способ вычисления точечного продукта?

    Нежелательное поведение от dict.fromkeys

    Как отличить строки Python и docstrings в буфере emacs?

    Как бы вы реализовали базовый цикл событий?

    График графика графика из данных гистограммы в matplotlib

    Python, что делает подчеркивание перед скобкой

    Получить адрес памяти, на который указывает указатель ctypes

    Как предотвратить загрузку страницы моего сайта через сторонний фрейм сайта iFrame

    Как применять параметры / для цикла

    Любой способ сделать красивые сглаженные круглые углы для изображений в python?

    Python lambda не принимает аргумент кортежа

    Python - лучший язык программирования в мире.