在python脚本中打开文件夹和文件

时间:2015-08-21 14:27:28

标签: python file directory

我有这段代码:

import os
def find(name):
    for root, dirs, files in os.walk("Desktop/"):
        if name in files:
             os.startfile("Desktop/", name, ".exe")


def findFold(name):
    for root, dirs, files in os.walk("Desktop/"):
        if name in files:
            os.startfile("This PC/", name)

..............
    if OpenFile.lower() == "music" or OpenFile.lower() == "music folder":
        findFold("Music")
..............
    elif OpenFile.lower() == "wolf team" or OpenFile.lower() == "wolfteam":
        find("Wolfteam")

OpenFile是一个字符串,它是用户的输入(文件或文件夹的名称 该程序不会打开我希望它打开的文件和文件夹。

我查看了互联网,这就是人们说它是如何工作的...... 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

目前还不清楚你要完成什么,但是,如果你试图在基于Windows的文件系统上调用应用程序,我相信你有一个反斜杠你想要一个正斜杠

e.g。我会改变

os.startfile("This PC/", name)

os.startfile("This PC/{}".format(name))

我还建议您研究Python的PEP 8编码约定,并将它们的建议用于可读代码。即:

考虑将docstrings添加到您的方法

def fileFold(name):
    '''
    why this method exists
    '''

不要对您的路径进行硬编码,但要将它们变为

def findFold(name, prefix="\Desktop\", suffix=".exe")

将您的活动包装在Try Except块

try:
    os.startfile("{}{}{}".format(prefix, name, suffix))
except OSError as err:
    print("Unable to invoke application {}: {}".format(name, err))