在Python中,我可以使用哪些命令来查找:
我想看看在python中确定当前脚本目录的最佳方法是什么?
我发现,由于调用python代码的方法很多,很难找到一个好的解决方案.
这是一些问题:
__file__如果脚本执行时未定义exec,execfile__module__ 仅在模块中定义用例:
./myfile.pypython myfile.py./somedir/myfile.pypython somedir/myfile.pyexecfile('myfile.py') (来自另一个脚本,可以位于另一个目录中,并且可以有另一个当前目录.我知道没有完美的解决方案,但我正在寻找解决大多数情况的最佳方法.
最常用的方法是os.path.dirname(os.path.abspath(__file__)),如果你从另一个脚本执行脚本,这实际上不起作用exec().
任何使用当前目录的解决方案都将失败,根据调用脚本的方式或者可以在运行的脚本中更改它,可能会有所不同.
出于某种原因,我的代码无法打开一个简单的文件:
这是代码:
file1 = open('recentlyUpdated.yaml')
Run Code Online (Sandbox Code Playgroud)
错误是:
IOError: [Errno 2] No such file or directory: 'recentlyUpdated.yaml'
Run Code Online (Sandbox Code Playgroud)
open()的完整路径,似乎没有任何工作.所以,我正在学习Python,并希望创建一个简单的脚本来从Internet下载文件,然后将其写入文件.但是,我使用IDLE并且不知道IDLE中的工作目录是什么或者如何更改它.如果我不知道工作目录或如何更改它,如何在IDLE中执行文件系统操作?
我是python的新手,想安装并使用pytesser OCR库.我安装的所有其他模块,我都使用了easy_install,它运行良好.但pytesser是我第一次使用Google Code的.zip文件手动安装.
根据自述文件(https://code.google.com/p/pytesser/wiki/README)中的说明,我将上下文解压缩到我的C:\ Python27\Scripts文件中.但是,当我尝试:
from pytesser import *
Run Code Online (Sandbox Code Playgroud)
在Python Shell中,我收到以下错误:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
from pytesser import *
ImportError: No module named pytesser
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?Windows 7. Python 2.7.我使用PIL,Scrapy,Numpy等模块的其他脚本工作正常.
谢谢,汤姆
Windows 7当我学习Python(3.2)时,我更喜欢使用IDLE而不是CMD.为了改变我可以导入我自己的脚本的路径,我使用了一个我在这个站点中找到的小技巧:我去了FILE> OPEN>目录> myscript然后运行它然后我就在这个目录上.
不过,我想知道是否有一个简单的命令,比如CD ......移动到正确的目录,而不使用技巧.
谢谢,
python ×7
python-idle ×2
directory ×1
dirname ×1
file ×1
file-io ×1
ocr ×1
python-2.7 ×1
pythonpath ×1
tesseract ×1