从自己的目录执行的Python脚本
如果启动文件从自己的目录执行的Python脚本,python,windows,directory,Python,Windows,Directory,如果启动文件D:\test.py: f = open('blah.txt','w') f.write('test') 使用命令(例如,从Windows的“开始菜单>运行”) 然后将在C:\Python27\中创建文件blah.txt,而不是D:\ 如何使脚本D:\test.py从目录D:\?运行(即输出文件应为D:\blah.txt)我应该在“开始菜单”>“运行”中写入什么命令?在python.exe位置创建的输出文件是预期的操作系统行为。以这种方式启动应用程序时,其工作目录将设置为.exe文
D:\test.py
:
f = open('blah.txt','w')
f.write('test')
使用命令(例如,从Windows的“开始菜单>运行”)
然后将在C:\Python27\
中创建文件blah.txt
,而不是D:\
如何使脚本
D:\test.py
从目录D:\
?运行(即输出文件应为D:\blah.txt
)我应该在“开始菜单”>“运行”中写入什么命令?在python.exe
位置创建的输出文件是预期的操作系统行为。以这种方式启动应用程序时,其工作目录将设置为.exe文件所在的目录。Python本身不会将工作目录更改为脚本位置,因此您必须手动执行此操作。一种方法是更改test.py
脚本开头的目录:
import os
import sys
os.chdir(os.path.dirname(sys.argv[0]))
另一种方法是将“Run”命令更改为如下内容:
cd /D D:\ && C:\Python27\python.exe D:\test.py
如果
.py
与Python关联,则可以将其放入批处理文件中:)如果.py
与Python关联,则直接尝试d:\test.py
。@GregHewgill不是:.py
与我的编辑器工具(记事本++)关联,至少这很容易修复。@GregHewgill:No,我不想将.py
与Python关联,我想将.py与我的文本编辑器关联起来。我想找到一个解决方案,而不必修改我的文件类型关联。
cd /D D:\ && C:\Python27\python.exe D:\test.py