我创建了一个使用附加文件(例如 form.ui)的程序,当我从程序目录运行该程序时,一切正常,但当我从另一个文件夹运行时,我得到了一个FileNotFoundError
,我该如何修复它?我将不胜感激任何建议。
v@v-System-Product-Name:/path/AppName$ ./app
作品。
v@v-System-Product-Name:~$ /path/AppName/app
FileNotFoundError: [Errno 2] No such file or catalog: 'form.ui'
答案1
您需要在脚本中将文件路径添加到文件名称之前。看起来您的文件 - form.ui
- 与脚本位于同一目录中。因此,您需要获取脚本的当前位置并将此路径放在文件名之前。
例如,假设您只想(在屏幕上)打印文件的内容form.ui
,并且:
你使用狂欢. 脚本必须如下所示:
#!/bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cat "$DIR/form.ui"
你使用php. 脚本必须如下所示:
<?php $DIR = realpath(dirname(__FILE__)); echo file_get_contents("$DIR/".'form.ui'); ?>
其中变量$DIR
包含脚本的路径。