python write file.txt是';不能正确保存输出
我在一个.txt文件中有一系列URL,我想打印我对一个新的.txt文件所做的python更改 我的URL.txtpython write file.txt是';不能正确保存输出,python,python-3.x,list,file,Python,Python 3.x,List,File,我在一个.txt文件中有一系列URL,我想打印我对一个新的.txt文件所做的python更改 我的URL.txt http://www.live.com http://www.twitter. com http://www.youtube.com 进行更改后,终端输出为打印(新列表) 然后,当我写入新的.txt时,唯一写入的是 ['http://www.youtube.com'], 我用来编写新文本的代码如下 with open("listurls.t
http://www.live.com
http://www.twitter. com
http://www.youtube.com
进行更改后,终端输出为打印(新列表)
然后,当我写入新的.txt时,唯一写入的是
['http://www.youtube.com'],
我用来编写新文本的代码如下
with open("listurls.txt", "w") as f:
f.writelines(new_list)
新列表是一个str
有什么原因我不能在我的.txt文件中打印每一行吗
整个代码如下,我知道这有点冗长,但这是一个练习
with open ("testurls.txt", "r") as txt_file:
for urls in txt_file:
data = urls
#print(data)
def remove(data):
return data.replace(" ", "")
#print (remove(data))
links = (remove(data))
#print(links)
def Convert(string):
li = list(string.split(" "))
return li
str1 = links
#print(Convert(str1))
list_urls = (Convert(str1))
#print(list_urls)
stripped = [s.rstrip('\n') for s in list_urls]
#print (stripped)
value = stripped
for lists in value:
new_list = ("['" + lists + "'],")
print(new_list)
with open("listurls.txt", "w") as f:
f.writelines(new_list)
#I MADE IT THIS FAR
以附加模式打开文件。使用此代码在文件中写入
with open("listurls", "a") as myfile:
myfile.write(new_list)
以附加模式打开文件。使用此代码在文件中写入
with open("listurls", "a") as myfile:
myfile.write(new_list)
问题在于将列表写入文件的方式。实际上,您将覆盖这段代码中每个列表元素的文件:
for lists in value:
new_list = ("['" + lists + "'],")
print(new_list)
with open("listurls.txt", "w") as f: # <<--- here is the problem
f.writelines(new_list)
问题在于将列表写入文件的方式。实际上,您将覆盖这段代码中每个列表元素的文件:
for lists in value:
new_list = ("['" + lists + "'],")
print(new_list)
with open("listurls.txt", "w") as f: # <<--- here is the problem
f.writelines(new_list)
writelines()未将新的_列表附加到listurls.txt。它正在做的是:-
listurls = ['http://www.live.com'],
在第一次迭代中
在下一次迭代中
listurls = ['http://www.twitter.com'],
而不是
listurls = ['http://www.live.com'],
['http://www.twitter.com'],
要解决此问题,请以追加模式而不是写入模式打开ListURL
with open("listurls.txt", "w+") as f:
f.writelines(new_list)
或
或
writelines()未将新的_列表附加到listurls.txt。它正在做的是:-
listurls = ['http://www.live.com'],
在第一次迭代中
在下一次迭代中
listurls = ['http://www.twitter.com'],
而不是
listurls = ['http://www.live.com'],
['http://www.twitter.com'],
要解决此问题,请以追加模式而不是写入模式打开ListURL
with open("listurls.txt", "w+") as f:
f.writelines(new_list)
或
或
最简单的方法可能是先打开文件,并在写入所有行时保持打开状态。现在您正在为每一行打开并覆盖它(模式“w”覆盖旧内容),最简单的方法可能是首先打开文件,并在写入所有行时保持打开状态。现在你正在为每一行打开并覆盖它(模式“w”覆盖旧内容),我很感激。这正是我要找的。我一定是在文档中遗漏了这一点。我很感激。这正是我要找的。我一定是在文件中漏掉了。