热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python-IOError:[Errno2]没有这样的文件或目录:u'lastid.py'用于同一目录中的文件.在本地工作,不在Heroku上

如何解决《Python-IOError:[Errno2]没有这样的文件或目录:u'lastid.py'用于同一目录中的文件.在本地工作,不在Heroku上》经验,为你挑选了1个好方法。

我怀疑这是一个非常新手的问题,但我找不到任何有用的解决方案:(我一直在尝试通过构建一个简单的Twitter机器人来开始使用Python,它回复了发布它的人.它在本地工作,它不适用于Heroku.

快速简介:每次机器人推文时,它都会使用一个名为mainscript.py的脚本,该脚本会将回复的最后一条推文的ID写入名为lastid.py的单独文件中.下一次脚本运行时,它会打开lastid.py,检查当前推文列表中的内部数字,并仅响应ID数大于lastid.py中存储的ID号.

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                                                                                                         
    fp = open("lastid.py", 'r')                                                                                                                                    
IOError: [Errno 2] No such file or directory: u'lastid.py'  

我绝对100%肯定lastid.py和mainscript.py在服务器上和同一目录内 - 我通过在heroku上运行bash进行三重检查.我的.gitignore文件是空白的,所以它与此无关.

我不明白为什么这样一个简单的命令,如'在同一目录中打开文件并读取它'在服务器上不起作用.我究竟做错了什么?

(我意识到在尝试用新语言构建自定义之前我应该​​已经完成​​了一些教程,但是现在我已经开始了这个我真的很想完成它 - 任何人都能提供的任何帮助都会非常感激.)



1> Oliver W...:

可能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 
    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


推荐阅读
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
author-avatar
alloyer
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有