我正在嘗試編寫一個簡單的腳本,該腳本將通過+1遞增文件內部的文本,然後在將文件名增加+1時保存該文件。如何使用pywinauto使用遞增名稱保存多個文件
所以基本上:
這是文本1
保存爲:FILE1.TXT
這是文本2
保存爲:FILE2.TXT
等等。我已經得到了我的腳本來做到這一點與記事本程序,但我無法找出一種方法來做到這一點,而不必打開每個文件的記事本。 我已經嘗試連接到進程ID和類似的東西,但我只有大約一個月的時間進行編程,所以我在這個概念上有一段可怕的時間。
#!/usr/bin/env python
from pywinauto.application import Application
b = int(raw_input("Where do you want to start? >"))
a = int(raw_input("How Many Labels do you need? >"))
def make_labels(a, b):
app = Application().start("notepad.exe")
app.UntitledNotepad.edit1.SetText("This is me typing %r" % b)
app.UntitledNotepad.MenuSelect("File -> SaveAs")
#app.SaveAs.ComboBox5.Select("UTF-8")
app.SaveAs.edit1.SetText("Test_File%r.txt" % b)
app.SaveAs.Save.Click()
app.UntitledNotepad.TypeKeys("%FX")
b = b + 1
return b
while b < a:
b = make_labels(a, b)
任何幫助都搞清楚如何得到這個只使用記事本的一個實例,將不勝感激工作。
更新:
好吧,我想我已經取得了一些進展。我不知道你可以通過程序名稱來識別它,所以我改變了它,現在它使用相同的窗口。但是我的新問題是,它會得到它通過+1第二次增加的內容點但是它將無法打開之後保存選項:
#!/usr/bin/env python
from pywinauto.application import Application
import time
b = int(raw_input("Where do you want to start? >"))
a = int(raw_input("How Many Labels do you need? >"))
app = Application().start("notepad.exe")
def make_labels(b, app):
#app = Application().start("notepad.exe")
app.Notepad.edit1.SetText("This is me typing %r" % b)
app.Notepad.MenuSelect("File -> SaveAs")
app.SaveAs.edit1.SetText("Test_File%r.txt" % b)
app.SaveAs.Save.Click()
#app.Notepad.TypeKeys("%FX")
b = b + 1
return b
while b < a:
b = make_labels(b, app)
如果您問「如何從文件中讀取數據,然後用新名稱創建一個文件並在其中寫入信息?」,[讀寫文件](https://docs.python。組織/ 2 /教程/輸入 - 輸出。html#讀寫文件),[用Python讀寫文件](http://www.pythonforbeginners.com/files/reading-and-writing-files-in-python),[Python文件I/O](https://www.tutorialspoint.com/python/python_files_io.htm) – Kevin
不,我已經得到了(主要)我只是需要稍微改變文本(通過增加在句子結尾的數字+1),然後對保存文件的標題執行相同操作。我已經得到了這些部分,並且腳本對此起作用,但是現在它每次更改時都會打開一個記事本的新實例。我希望它使用同一個記事本實例,但不知道如何讓它連接到該實例,因爲實例名稱更改爲保存文件的名稱。 – Elka