从任何目录打开文件

时间:2013-05-10 21:14:16

标签: python file file-io operating-system

我正在编写这个在我的计算机上运行文件的基本代码,但现在它只能从它所在的目录中打开文件。有没有办法从我的计算机上的任何地方打开文件,或者我必须给它文件的路径。

这是我的代码:

def run(filename):
    try:
        import os
        os.startfile(filename)
    except:
        WindowsError
        print ("Thats not a valid file name")

while True:

    filename = raw_input("Filename: ")
    run(filename)
    x = raw_input("Would you like to open another file? [y/n]: ")
    if x == "n":
        quit()

这将打开并运行文件,但仅限于保存在其中的目录。

3 个答案:

答案 0 :(得分:1)

你可以通过几种不同的方式做到这一点

使用整个路径

或更改其查看的目录

更改目录非常简单

os.chdir("PATH TO DIRECTORY")

答案 1 :(得分:1)

def run(filename):
    for directoy,files,dirs in os.walk("C:\\"):
        if filename in files:
           return os.startfile(os.path.join(directory,filename))

公平警告可能会很慢......

答案 2 :(得分:1)

你能尝试一下吗?

import os
def run(filename):
    if not os.path.exists(filename):
       print("Thats not a valid file name")
       return
    if os.path.isfile(filename):
       # Your code here
    elif os.path.isdir(filename):
       # Your code here