我正在尝试将一些文字写入文件,这就是我尝试的内容:
text ="Lorem Ipsum is simply dummy text of the printing and typesetting " \
"industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s," \
" when an unknown printer took a galley of type and scrambled it to make a type specimen book."
target = open("file", 'wb')
target.writelines(text)
我得到一个空文件。 我怎么能这样做?
答案 0 :(得分:4)
这是打印到txt文件的方法:
file = open("Exported.txt", "w")
file.write("Text to write to file")
file.close() #This close() is important
另一种方法是:
with open('Exported.txt', 'w') as file:
file.write("Text to write to file")
这是我编写txt文件的程序:
import os.path
def start():
print("What do you want to do?")
print(" Type a to write a file")
print(" Type b to read a file")
choice = input(" -")
if choice == "a":
create()
elif choice == "b":
read()
else:
print("Incorrect spelling of a or b\n\n")
start()
def create():
print()
filename = input("What do you want the file to be called?\n")
if os.path.isfile(filename):
print("This file already exists")
print("Are you sure you would like to overwrite?")
overwrite = input("y or n")
if overwrite == "y":
print("File has been overwritten")
write(filename)
else:
print("I will restart the program for you")
elif not os.path.isfile(filename):
print("The file has not yet been created")
write(filename)
else:
print("Error")
def write(filename):
print()
print("What would you like the word to end writing to be?")
keyword = input()
print("What would you like in your file?")
text = ""
filename = open(filename, 'w')
while text != keyword:
filename.write(text)
filename.write("\n")
text = input()
def read():
print()
print("You are now in the reading area")
filename = input("Please enter your file name: -")
if os.path.isfile(filename):
filename = open(filename, 'r')
print(filename.read())
elif not os.path.isfile(filename):
print("The file does not exist\n\n")
start()
else:
print("Error")
start()
答案 1 :(得分:1)
writelines
需要一个可迭代的(例如列表)行,所以不要使用它。您需要关闭文件以保存更改,最好使用with
语句:
with open("file", 'wb') as target:
target.write(text)
答案 2 :(得分:1)
您提供的代码会生成一个名为file的文件,其中包含所需的行。也许你打算把它保存为“file.txt”。此外,'b'
标志中的'wb'
告诉代码以二进制模式写入文件(更多信息here)。如果您希望文件可读,请尝试使用'w'
。
最后,最佳做法是在访问文件时使用with
语句
text ="Lorem Ipsum is simply dummy text of the printing and typesetting " \
"industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s," \
" when an unknown printer took a galley of type and scrambled it to make a type specimen book."
with open("file.txt", 'w') as f:
f.write(text)
答案 3 :(得分:1)
通过这种方式,您应该直接关闭文件:
target = open("filename.txt", 'w')
target.writelines(text)
target.close()
通过这种方式,文件在with
完成执行后的缩进块之后关闭:
with open("filename.txt", "w") as fh:
fh.write(text)
更多信息: