>我需要获取文件的路径。我该怎么做?我试过这个,但没有用:
import subprocess
import os
file_name = "something.exe"
path = os.path.dirname(file_name)
print path
subprocess.call(path)
好的,所以你要做的是首先使用os.walk((函数找到文件:
import os
from os.path import join
lookfor = "file_name.exe"
for root, dirs, files in os.walk('C:\'):
if lookfor in files:
# found one!
path = os.path.join(root,lookfor)
print(path) #this is the path you required
subprocess.call(path)
break
但这需要一段时间并运行它找到的第一个文件。 我也假设你有一个窗口,否则你应该用'/'替换'C:\'。
据我理解您的问题,这应该有效:
path = os.path.abspath(file_name)
print path
它采用相对路径并返回绝对系统路径。 对我来说,这毫无意义。如果文件名是您拥有的全部,则无论如何都不会找到该文件。如果file_name是文件的相对路径,则 abspath(( 函数应该可以工作。
请使用操作系统模块:https://docs.python.org/2/library/os.html
import os
file = "/Users/Test.py"
print(os.path.abspath(file))