我已将现有的文件系统文件夹导入为eclipse中的新项目文件夹。我有一个脚本,它获取代码的当前工作目录路径。我需要将目录位置更改为与其相关的其他目录中的acccess文件。但是从eclipse和命令行执行时它给出了不同的值。两个地方的位置相同。请帮我解决这个问题。操作系统是这里的窗口
import os
print os.getcwd()
os.chdir(os.path.dirname(os.getcwd()))
print os.getcwd()
结果就是这个
C:\Automation\trunk\Base\TestScripts
C:\Automation\trunk\Base
其他结果就是这个
C:\Automation\trunk\UsefulScripts
C:\Automation\trunk
第二个结果是我期望的结果,也就是代码所在的结果。
答案 0 :(得分:0)
注意你不能依赖它。执行以下操作:
basedir = os.environ.get('PROJECT_LOC', None)
if not basedir:
basedir = sys.path[0] # We are on commandline. sys.path OK
然后使用basedir查找文件
<强>更新强>
您必须在解释器的运行时中指定此变量
window-&gt; preferences-&gt; PyDev-&gt; Interpreters-&gt; Python Interpreter TAB(环境)在那里,您可以通过选择NEW名称PROJECT_LOC和变量(另一个按钮)并选择project_loc来指定引用project_loc的PROJECT_LOC。
由于某些原因,这些变量在python中不可见。
您现在可以使用
进行检查def read_all_variables():
for key in os.environ.keys():
print ("%30s %s" % (key,os.environ[key]))
PROJECT_LOC现在应该在那里
答案 1 :(得分:-1)
我使用的是sys包而不是os。它按预期工作。
import os,sys
currentpath = sys.path[0]
print currentpath
我可以从eclipse和命令行运行它来获取正确的路径。谢谢你的帮助。