2011-11-29 111 views
0

我有以下Python的脚本,它打开一个文本文件:搜索与Python文件而不路径

import sys 
file = r"D:/...../text.txt" 
with open (file,"r") as infile: 
text = infile.read() 

print (text) 

如果我想在另一台计算机上运行此脚本,我不得不改变路径(相同的文本文件“text.txt”将被保存在另一台计算机上)。有没有办法让脚本在没有在脚本中写入路径的情况下搜索文本文件的计算机?

谢谢。

回答

0

您是否尝试过把它在一个相对目录,例如:

import sys 
file = r"text.txt" 
with open (file,"r") as infile: 
    text = infile.read() 

print (text) 

只是保持文本文件在同一目录中的小程序。

+0

我没有访问其他计算机。另一台计算机上的文本文件的目录是未知的。 Whitouht改变了我脚本中的任何内容,并且没有在另一台计算机上搜索目录,脚本应该能够找到文本文件并阅读它。 – user1071404

0

你可以使用glob来得到你想要的结果,但glob会返回一个文件列表,你可能需要修改你的代码。

0

使用GUI的“选择文件”

import sys 
from Tkinter import * 
import tkFileDialog 

master = Tk() 
master.withdraw() #hiding tkinter window 

file_path = tkFileDialog.askopenfilename(title="Open file", filetypes=[("txt file",".txt"),("All files",".*")]) 

with open (file_path,"r") as infile: 
    text = infile.read() 

print (text) 
+0

ImportError:没有名为Tkinter的模块。什么可能是解决方案? – user1071404

+0

安装TKinter:http://www.tkdocs.com/tutorial/install.html(自3.1以来包含在所有标准Python发行版中),然后使用py2exe – abcde123483

+0

我确实安装了TKinter,但仍然存在相同的问题! – user1071404