【问题标题】:search for a file with PYTHON without path使用没有路径的 PYTHON 搜索文件
【发布时间】:2011-11-29 14:09:31
【问题描述】:

我有以下 python 脚本,它打开一个文本文件:

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

print (text)

如果我想在另一台计算机上运行此脚本,我必须更改路径(相同的文本文件“text.txt”将保存在另一台计算机上)。有什么方法可以让我的脚本在计算机中搜索文本文件而不在脚本中写入路径?

谢谢。

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    你有没有试过把它放在相对目录中,例如:

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

    只要把文本文件和小程序放在同一个目录下就行了。

    【讨论】:

    • 我无法访问另一台计算机。另一台计算机上文本文件的目录未知。 Whitouht 更改脚本中的任何内容并且无需在另一台计算机上搜索目录,脚本应该能够找到文本文件并读取它。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      使用 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)
      

      【讨论】:

      • ImportError: 没有名为 Tkinter 的模块。有什么解决办法?
      • 安装 TKinter:tkdocs.com/tutorial/install.html(自 3.1 起包含在所有标准 Python 发行版中),然后使用 py2exe
      • 我确实安装了TKinter,但还是有同样的问题!!
      • @user1071404 使用“导入 tkinter”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      • 2022-01-13
      • 2017-01-28
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      相关资源
      最近更新 更多