【问题标题】:How can I incorporate a text file into the body of my Python script?如何将文本文件合并到 Python 脚本的正文中?
【发布时间】:2012-10-30 04:53:01
【问题描述】:

目前,我的代码正在读取外部文本文件,使用:

text_file = open("file.txt", 'r', 0)
my_list = []
for line in text_file
    my_list.append(line.strip().lower())
return my_list

我想将我的代码发送给朋友,而无需发送单独的文本文件。所以我正在寻找一种将文本文件的内容合并到我的代码中的方法。

我怎样才能做到这一点?

如果我在 MS 记事本中使用替换功能将文本文件转换为 list 格式([a, b, c, ...]),然后尝试将列表复制并粘贴到 Python IDE (我使用的是 IDLE),这个过程非常耗费内存:IDLE 试图在一行中将所有内容都串起来(即没有自动换行),而且它永远不会结束。

【问题讨论】:

  • 你准备好发送文件的内容了,但不是文件..奇怪...
  • 完成后,我会将我的.py文件转换成.exe,我不希望我的朋友把文本文件的内容弄乱。这不是一个严肃的项目,但我会很感激这些知识。

标签: python list text io


【解决方案1】:

我不完全确定你在问什么,但如果我猜对了你的意思,你可以这样做:

my_list = ['line1', 'line2']

每个都是文本文件中的一行。

【讨论】:

    【解决方案2】:

    只需将所有文件内容放入一个 MASSIVE 字符串中:

    with open('path/to/my/txt/file') as f:
        file_contents = f.read()
    

    所以现在,你的朋友可以这样做了:

    for line in file_contents.split('\n'):
        #code
    

    相当于

    with open('path/to/file') as f:
        for line in f:
            #code
    

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      建议

      1. 将文件内容赋值给另一个py文件中的变量
      2. 通过在程序中导入来读取值

      这样 py 文件将被转换为 pyc(发送),或者 py2exe 会处理它..

      并且不会让你的朋友弄乱内容......

      【讨论】:

        【解决方案4】:

        你也可以这样做:

        my_file_contents = """file_contents_including_newlines"""
        for line in my_file_contents.split('\n'): # Assuming UNIX line ending, else split '\r\n'
            *do something with "line" variable*
        

        注意在要发送的文本周围使用三引号。这适用于非二进制数据。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多