在Python中,我可以使用哪些命令来查找:
我正在运行Python 2.5.
这是我的文件夹树:
ptdraft/
  nib.py
  simulations/
    life/
      life.py
(我也在__init__.py每个文件夹中,为了便于阅读,这里省略了)
如何nib从模块内导入life模块?我希望有可能不用修补sys.path.
注意:正在运行的主模块位于该ptdraft文件夹中.
我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.
例如,假设我有三个文件.使用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代码:
import os
print os.getcwd()
我os.getcwd()用来获取脚本文件的目录位置.当我从命令行运行脚本时它给了我正确的路径,而当我从Django视图中的代码运行的脚本运行它时,它会打印出来/.
如何从Django视图运行的脚本中获取脚本的路径?
更新:
 
总结到目前为止的答案 - os.getcwd()并且os.path.abspath()都给出当前工作目录,该目录可能是也可能不是脚本所在的目录.在我的网站主机设置中__file__
在Python中没有任何方法(总是)能够接收脚本所在的路径吗?
A = os.path.join(os.path.dirname(__file__), '..')
B = os.path.dirname(os.path.realpath(__file__))
C = os.path.abspath(os.path.dirname(__file__))
我通常只是用实际路径来硬连线.但是这些语句在运行时确定路径是有原因的,我真的很想了解os.path模块,所以我可以开始使用它.
情况: - 我的project_folder中有一个名为calendar的模块 - 我想使用Python库中的内置Calendar类 - 当我使用日历导入日历时,它会抱怨因为它试图从我的模块加载.
我做了一些搜索,似乎无法找到问题的解决方案.
任何想法,而无需重命名我的模块?
我正在尝试在python 2.7中学习cv2,但是当我运行我的代码时,在它的特定部分:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
 eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
img = cv2.imread('2015-05-27-191152.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
    img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
它返回:
File "face_detection.py", line 11, in <module>
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)
cv2.error: /home/arthurckl/Desktop/opencv-3.0.0-rc1/modules/objdetect/src/cascadedetect.cpp:1595: error: (-215) !empty() in function detectMultiScale
我试着在这里搜索答案,但我能找到的最好的是我必须以错误的方式加载face_cascade ...有什么帮助吗?
在Python中,我应该使用什么命令来获取包含我正在使用的文件的文件夹的名称?
"C:\folder1\folder2\filename.xml"
这"folder2"是我想要的.
我唯一想到的就是使用os.path.split两次:
folderName = os.path.split(os.path.split("C:\folder1\folder2\filename.xml")[0])[1]
有没有更好的方法呢?
如何找到当前运行的Python脚本的完整路径?也就是说,我需要做些什么来实现这个目标:
$ pwd
/tmp
$ python baz.py
running from /tmp 
file is baz.py
我正在尝试编写一个将文本放到图像上的程序,我正试图绕过PIL并遇到错误:OSError:无法打开资源.这是我的第一个python程序,如果错误很明显,请道歉.
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
im = Image.open("example.jpg")
font_type = ImageFont.truetype("Arial.ttf", 18)
draw = ImageDraw.Draw(im)
draw.text(xy=(50, 50), text= "Text One", fill =(255,69,0), font = font_type)
im.show()
我收到错误:
Traceback (most recent call last):
File "C:\Users\laurence.maskell\Desktop\attempt.py", line 7, in <module>
font_type = ImageFont.truetype("Arial.ttf", 18)
File "C:\Python34\lib\site-packages\PIL\ImageFont.py", line 259, in truetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "C:\Python34\lib\site-packages\PIL\ImageFont.py", line 143, in __init__
self.font = core.getfont(font, size, index, encoding, 
layout_engine=layout_engine)
OSError: cannot open resource
python ×8
directory ×4
python-3.x ×2
django-views ×1
file ×1
fonts ×1
getcwd ×1
image ×1
import ×1
module ×1
opencv ×1
path ×1
python-2.7 ×1
scripting ×1