Python 从任何目录打开文件
我正在写这段基本代码,在我的计算机上运行文件,但现在它只能从它所在的目录中打开文件。是否有一种方法可以从我的计算机上的任何位置打开文件,或者我必须给出文件的路径 这是我的密码:Python 从任何目录打开文件,python,file,file-io,operating-system,Python,File,File Io,Operating System,我正在写这段基本代码,在我的计算机上运行文件,但现在它只能从它所在的目录中打开文件。是否有一种方法可以从我的计算机上的任何位置打开文件,或者我必须给出文件的路径 这是我的密码: def run(filename): try: import os os.startfile(filename) except: WindowsError print ("Thats not a valid file name") whil
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()
这将打开并运行文件,但只能从保存的目录中打开和运行文件。您可以通过几种不同的方法来完成此操作 或者使用整个路径 或者更改其查看的目录 更改目录非常容易
os.chdir("PATH TO DIRECTORY")
公平警告可能很慢…你能试试吗:
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
不清楚你想做什么。。。您想在整个计算机中搜索名为“X”的文件或其他文件吗?如果您有
“C:\A\file1.txt”
和“C:\B\file1.txt”
。。。你会选择哪一个?正如@JoranBeasley指出的,如果你想打开脚本所在目录以外的目录中的文件,你必须用完整的路径限定名称。我只是想知道如果你试图访问路径上的任何程序,是否有一种方法可以访问我计算机中任何地方的文件,按照DOS提示符的方式,您可以这样做。如果您试图访问计算机上任何位置的任何文件…您必须搜索它(无论是通过遍历整棵树、询问桌面搜索还是其他方式)。仅供参考,WindowsError
应与位于同一行,但
除外,例如,除了WindowsError:
这正是我想要的,我想我知道它会很慢,因为它必须搜索文件,但谢谢!
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