我正在构建一个需要访问同一文件夹中的资源的应用程序(它需要xsd文件来验证输入文件)。
如何可靠地访问此xsd文件?
详细说明:
我需要能够调用可执行文件:
cd not/the/directory/of/the/program
path/to/program -c config.xml
此处使用的路径是什么?
subprocess.Popen("xmllint --noout --schema ?/?/config.xsd " + configfilename)
答案 0 :(得分:0)
看看您的程序获得的第零个命令行参数。它通常是程序的名称,并且可能还包含程序的路径。将其与当前目录合并。然后使用realpath
或它的等效项来摆脱符号链接。但是,我认为在某些极端情况下,这种方法可能会失败。
您未指定/正在使用的编程语言/或操作系统。如果您正在编写bash脚本,请参见此处: https://stackoverflow.com/a/246128/11451509
对于Python,请参见How do I get the path of the current executed file in Python?
如果操作系统是Linux,则还可以检查/proc
伪文件系统,如下所述:
https://stackoverflow.com/a/738024/11451509