基于 Tkinter 保存的文件编写另一个文本文件
Writing Another Text File based on Saved File from Tkinter
我提示用户保存一个文件,我想自动保存一个文件。例如,假设用户在我的程序下保存了一个名为"foo.txt"的文本文件,我想自动生成一个名为"lengthfoo.txt"的文本文件。 "foo" 之前的单词 "length" 和 "foo" 之后的“.txt”。又如:当用户保存"HelloWorld.txt"时,我想让程序自动保存另外一个名为"lengthHelloWorld.txt"
的文件
from ast import literal_eval
from Tkinter import *
from tkFileDialog import *
def loadFile():
try:
save_file = askopenfile(mode='r', defaultextension=".zw")
lengths_file = open("length%s.zw" % "origsavefilename", "r")
with save_file as f:
for line in f:
rectList.extend(literal_eval(line.strip()))
save_file.close()
lengths_file.close()
print "File Loaded"
def saveFile():
try:
save_file = asksaveasfile(mode='w', defaultextension=".zw")
if save_file is not None:
# Write the file to disk
lengths_file = open("length%s.zw" % "origsavefilename", "w")
save_file.close()
print "File Saved Successfully."
不要使用 asksaveasfile
,而是使用 asksaveasfilename
,其中 returns 选择的文件名而不是打开的文件。
然后您可以使用
之类的方法创建文件名 length
import os
save_filename = asksaveasfilename()
save_filename_split = os.path.split(save_filename)
save_filename_length = os.path.join(save_filename_split[0],
'length'+save_filename_split[-1])
然后你有两个文件名,你可以打开和写入东西。
我提示用户保存一个文件,我想自动保存一个文件。例如,假设用户在我的程序下保存了一个名为"foo.txt"的文本文件,我想自动生成一个名为"lengthfoo.txt"的文本文件。 "foo" 之前的单词 "length" 和 "foo" 之后的“.txt”。又如:当用户保存"HelloWorld.txt"时,我想让程序自动保存另外一个名为"lengthHelloWorld.txt"
的文件from ast import literal_eval
from Tkinter import *
from tkFileDialog import *
def loadFile():
try:
save_file = askopenfile(mode='r', defaultextension=".zw")
lengths_file = open("length%s.zw" % "origsavefilename", "r")
with save_file as f:
for line in f:
rectList.extend(literal_eval(line.strip()))
save_file.close()
lengths_file.close()
print "File Loaded"
def saveFile():
try:
save_file = asksaveasfile(mode='w', defaultextension=".zw")
if save_file is not None:
# Write the file to disk
lengths_file = open("length%s.zw" % "origsavefilename", "w")
save_file.close()
print "File Saved Successfully."
不要使用 asksaveasfile
,而是使用 asksaveasfilename
,其中 returns 选择的文件名而不是打开的文件。
然后您可以使用
之类的方法创建文件名length
import os
save_filename = asksaveasfilename()
save_filename_split = os.path.split(save_filename)
save_filename_length = os.path.join(save_filename_split[0],
'length'+save_filename_split[-1])
然后你有两个文件名,你可以打开和写入东西。