如何在Python中获取Windows资源管理器中文件的路径字符串?
背景
我正在开发一个简单的文本编辑器,需要通过Windows资源管理器获取文件的路径。现在我的代码是这样的,但它只是打开了文件——我需要它返回文件路径作为一个字符串:
import subprocess
subprocess.Popen(r'explorer /select, "C:\"')
问题
- 我该如何让它返回文件路径作为字符串?
- 我该如何使用这个路径来访问特定的文件?比如说,如果我想打开一个叫
myFile
的文件,但它不在我程序的同一个文件夹里,我该如何让它访问那个在不同文件夹里的文件呢?抱歉让你感到困惑!
技术规格
操作系统:Windows 7
编程语言:Python 2.7.3
2 个回答
0
关于问题2,如果你想打开一个在当前工作目录下的文件,可以使用:
file = open('filename.txt', 'r')
如果你想打开一个在其他目录里的文件,可以使用:
directory = 'C:\Users\MyName\Documents\example.txt'
file = open(directory, 'r')
这样也可以,打开指定目录下的文件。如果那个目录里没有这个文件,你会看到以下错误信息:
File "filename.py", line #, in <module>
file = open('filename.txt', 'r')
IOError: [Errno 2] No such file or directory: 'filename.txt'
1
我不太建议你用Windows资源管理器来做这个事情,你可以考虑使用Tkinter。这个和另一个问题很相似。
使用第三方库的主要原因是因为Python可以在多个平台上运行。在OSX、Windows 7和Ubuntu上选择文件的方式当然是很不一样的。这就是为什么这功能不包含在Python的运行环境里的主要原因。