0

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

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

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

我怎样才能做到这一点?

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

4

4 回答 4

0

我会建议

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

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

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

于 2012-10-30T05:23:09.787 回答
0

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

my_list = ['line1', 'line2']

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

于 2012-10-30T05:00:26.813 回答
0

只需将所有文件内容放入一个 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

希望这可以帮助

于 2012-10-30T05:05:45.480 回答
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*

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

于 2012-10-30T05:47:31.387 回答