如何将文本文件合并到Python脚本的主体中?

时间:2012-10-30 04:53:02

标签: python list text io

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

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

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

我怎样才能做到这一点?

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

4 个答案:

答案 0 :(得分:0)

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

my_list = ['line1', 'line2']

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

答案 1 :(得分:0)

将所有文件内容放入ONE 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

希望这有帮助

答案 2 :(得分:0)

我建议

  1. 将文件的内容分配给另一个py文件中的变量
  2. 通过在程序中导入值来读取值
  3. 这样py文件将被转换为pyc(发送那个),或py2exe会处理它..

    并且不允许你的朋友弄乱内容...

答案 3 :(得分:0)

您还可以执行以下操作:

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*

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