过程

写了个脚本丢服务器里, 每次启动时都要去读取一个cache文件

open('table.cache', 'rb')

然后为脚本设置了一个软连接, 以后用search命名就能使用脚本了

ln -s /home/search.py /usr/bin/search

但是, 启动时却提示未找到cache文件

FileNotFoundError: [Errno 2] No such file or directory: 'table.cache'

我猜测它可能去'/usr/bin/search'里找 'table.cache'了, 于是,

touch /usr/bin/table.cache

但还是提示找不到文件, 最后猜测, 它可能在当前目录找了, 于是我随便切到一个目录里:

cd /tmp/.X11-unix/

touch table.cache

search

这下对了!

Python里写这种相对路径, 是相对于终端的当前目录的.

解决

解决办法是, 获取脚本所在目录, 构造绝对路径:

print('getcwd', os.getcwd())

print('sysargv', sys.argv)

print('realpath', os.path.realpath(sys.argv[0]))

print('realpath.split', os.path.split(os.path.realpath(sys.argv[0]))[0]) # 这是脚本所在目录

print('__file__', __file__)

print('__file__.dir', os.path.dirname(__file__)) # 这也是脚本所在目录

将上诉代码保存在 /home/speng/t.py 里, 然后:

cd /etc/named

python3 /home/speng/t.py

输出:

getcwd /etc/named

sysargv ['/home/speng/t.py']

realpath /home/speng/t.py

realpath.split /home/speng

__file__ /home/speng/t.py

__file__.dir /home/speng

python相对路径找不到文件_Python里使用相对路径的坑相关推荐

  1. python相对路径找不到文件_Python 解决相对路径问题:No such file or directory

    如果你取相对路径不是在主文件里,可能就会有相对路径问题:"No such file or directory". 因为 python 的相对路径,相对的都是主文件. 如下目录结构: ...

  2. python 绝对路径找不到文件_python获取文件绝对路径解决找不到文件句柄的问题实例(readConfig.py)V1.2...

    #coding=utf8 ''' 该模块是用来读取配置文件, 通过正则表达式来获取下载路径和保存路径. 文件初始化时打开文件并读取配置文件信息 主要包括三个函数: getDownPath():用来获取 ...

  3. python相对路径找不到文件_Python相对路径从子文件夹导入

    首先发布到SO,所以如果我错过了一些细节,请原谅我. 有没有办法使用来自另一个子文件夹的相对路径而不需要通过os修改sys.path?最终这将从cgi网络服务器运行,所以我宁愿远离python.exe ...

  4. python进阶14文件路径(找不到文件)

    原创链接:python进阶14文件路径(找不到文件) 开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题. curdir,argv,file 举例: 文件1代码: 1 2 3 4 5 6 ...

  5. Java之相对路径找不到文件问题解决方法

    Java之相对路径找不到文件问题解决方法 参考文章: (1)Java之相对路径找不到文件问题解决方法 (2)https://www.cnblogs.com/gongxr/p/8862155.html ...

  6. python的os为啥找不到文件_python使用os.listdir和os.walk获得文件的路径

    情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 在我们的桌面上有一个file目录(文件夹),里面有三个文件 file(dir)| --|test1.txt --|te ...

  7. python open可以打开什么类型文件_Python打开文件open()的注意事项

    原博文 2018-02-28 10:51 − 刚刚用open(fileName)来打开txt格式的文件,总是出现错误,总是找不到文件读取的内容,后来才发现是open()在使用过程中自动关闭了.这里介绍 ...

  8. python连接linux服务器读取txt文件_python 读取Linux服务器上的文件方法

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hos ...

  9. python删除指定天数前的文件_python 删除指定时间间隔之前的文件实例

    遍历指定文件夹下的文件,根据文件后缀名,获取指定类型的文件列表:根据文件列表里的文件路径,逐个获取文件属性里的"修改时间",如果"修改时间"与"系统当 ...

最新文章

  1. 死里逃生!国足2:1逆转泰国队晋级亚洲杯八强
  2. 由system.currentTimeMillis() 获得当前的时间
  3. 没有搜索_没有明显足够搜索量关键词的类目产品应该怎么办?
  4. java导出word(带图片)
  5. java的虚拟机不支持在鲲鹏上_屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!...
  6. Servlet使用适配器模式进行增删改查案例(IBaseDaoUtil.java)
  7. 【渝粤教育】国家开放大学2018年春季 0177-21T电机学(二) 参考试题
  8. Teleport Ultra 抓包工具
  9. Gmuplolader1.0正式上线,欢迎试用!!!
  10. 售价150万的“AI老婆”,上市仅1小时就被抢光
  11. 面试中被问到HashMap的结构,1.7和1.8有哪些区别?这篇做深入分析!
  12. elementui表格复制_vue+element-ui做表格的导出功能(一)。
  13. 1×1的卷积核在卷积层的作用----网络中的网络
  14. 【Keras】LSTM和Bi-LSTM神经网络
  15. 微信H5分享钉钉分享设置方法
  16. JAVA ANDROID电脑开发环境配置,说多了都是泪
  17. ppoe拨号被远程计算机终止,Windows各操作系统常见PPPoE拨号错误代码说明
  18. (学习笔记)JAVA开发需要掌握哪些技术?
  19. Java正则表达式通过User-Agent获取IOS版本
  20. 关于NetBios的简单应用

热门文章

  1. 纯国产环境JAVA程序(Springboot + Mybatis + 达梦数据库)搭建
  2. 汉诺塔问题的Java实现(递归与非递归)
  3. 【web自动化测试Robotframework开发手册—特殊元素】
  4. 可以看游资的app_新游资APP:高评分App是如何养成的?
  5. 速速收藏——程序员接私活的七大平台
  6. Linux dnf使用记录
  7. Pinyin4j之Pinyin4jUtils工具类
  8. 沙漠求生十五选五实验
  9. 对透明表、簇表的理解
  10. 【18】CSS基础(3)——理解层叠式