相关疑难解决方法(0)

如何获取当前正在执行的文件的路径和名称?

我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.

例如,假设我有三个文件.使用execfile:

  • script_1.py电话script_2.py.
  • 反过来,script_2.py打电话script_3.py.

我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py

(执行os.getcwd()返回原始起始脚本的文件路径而不是当前文件的.)

python scripting file

462
推荐指数
16
解决办法
51万
查看次数

__file__变量是什么意思/做什么?

A = os.path.join(os.path.dirname(__file__), '..')

B = os.path.dirname(os.path.realpath(__file__))

C = os.path.abspath(os.path.dirname(__file__))
Run Code Online (Sandbox Code Playgroud)

我通常只是用实际路径来硬连线.但是这些语句在运行时确定路径是有原因的,我真的很想了解os.path模块,所以我可以开始使用它.

python

140
推荐指数
6
解决办法
15万
查看次数

如何在python中找到目标文件的符号链接或软链接的完整(绝对路径)

当我给ls -l /etc/fonts/conf.d/70-yes-bitmaps.conf时

lrwxrwxrwx <snip> /etc/fonts/conf.d/70-yes-bitmaps.conf -> ../conf.avail/70-yes-bitmaps.conf
Run Code Online (Sandbox Code Playgroud)

所以对于符号链接或软链接,如何在python中找到目标文件的完整(绝对路径),

如果我使用

os.readlink('/etc/fonts/conf.d/70-yes-bitmaps.conf')

它输出

../conf.avail/70-yes-bitmaps.conf

但我需要绝对路径而不是相对路径,所以我想要的输出必须是,

/etc/fonts/conf.avail/70-yes-bitmaps.conf

如何..用符号链接或软链接文件的父目录的实际完整路径替换.

python linux symlink absolute-path

59
推荐指数
4
解决办法
5万
查看次数

os.getcwd()vs os.path.abspath(os.path.dirname(__ file__))

我使用os模块在我的Django项目settings.py文件中有相对路径.变量SITE_ROOT设置为文件的当前工作目录,settings.py然后用于引用static/media同一目录中的所有目录.

继承人我的问题:

print os.getcwd()
print os.path.abspath(os.path.dirname(__file__))
Run Code Online (Sandbox Code Playgroud)

在settings.py中,上述语句都具有相同的输出.但我的模板只会在我使用时加载SITE_ROOT = os.path.abspath(os.path.dirname(__file__))

Django在这里寻找模板:

TEMPLATE_DIRS = (
    os.path.join(SITE_ROOT, 'templates'),
)
Run Code Online (Sandbox Code Playgroud)

SITE_ROOT设置os.getcwd()似乎让Django的查找模板文件夹的目录上面的settings.py文件

我可以很容易地不使用os.getcwd(),我的网站运行良好,但我很好奇这里可能会发生什么:)

谁知道?

python django

41
推荐指数
2
解决办法
3万
查看次数

Python相当于PHP的__DIR__魔术常量?

在PHP中,__DIR__魔术常量计算到包含该常量出现的文件的目录的路径.

Python中是否有相同的功能?

php python magic-constants

16
推荐指数
1
解决办法
4298
查看次数

Python的__file__实际上做了什么?

我一直认为__file__变量总是给你当前的文件名,但这似乎并不完全是它的作用.因为如果我认为这是真的,我一直面临着一个错误.

有人告诉我"这__file__是指搜索的最后一个模块"这似乎更准确,但我想知道__file__应该做什么.

我找不到Python文档中提到的任何具体内容.很多地方似乎都提到它,但不是很清楚.

http://docs.python.org/2/c-api/import.html?highlight=__file__

http://docs.python.org/2/c-api/module.html?highlight=__file__

python

5
推荐指数
1
解决办法
735
查看次数

python unipath:当前文件目录(祖先)的路径不输出任何内容

我一直在努力学习python-unipath并且已经掌握了基本的命令.但是,我被这个问题困扰了.所以,我想得到当前文件的祖先(2).所以,在python解释器上,我做了这样的事情:

Python 2.7.3 (default, Jan  2 2013, 13:56:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from unipath import Path
>>> ORM_ROOT = Path("/home/foo/lump/foobar/turf/orm/unipath_try.py").ancestor(2)
>>> ORM_ROOT
Path('/home/foo/lump/foobar/turf')
Run Code Online (Sandbox Code Playgroud)

..这是正确的,正是我想要的.现在,我将它包装在一个文件中,如下所示:

# -*- coding: utf-8 -*-
# unipath_try.py

from unipath import Path
ORM_ROOT = Path(__file__).ancestor(2)
print ORM_ROOT
Run Code Online (Sandbox Code Playgroud)

当我运行这个使用时,python unipath_try.py我没有输出!没有导入错误.我完全不知道为什么会这样 - 可能是非常愚蠢的事情.将不胜感激任何帮助/方向:(

python python-2.7

1
推荐指数
1
解决办法
1726
查看次数