我有这段代码:
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是一个字符串,它是用户的输入(文件或文件夹的名称 该程序不会打开我希望它打开的文件和文件夹。
我查看了互联网,这就是人们说它是如何工作的...... 有人可以帮忙吗?
答案 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))