2017-07-10 2 views
1

Ich habe die Daten aus einer Datei kopiert, und ich versuche, es in die Datei guru99.txt einzufügen, aber es schreibt nicht in die Datei. Unten ist das Stück Code. Kann mir bitte jemand helfen, ich möchte die kopierten Daten in die txt-Datei einfügen, die ich geöffnet habe?Ich versuche, kopierte Daten in eine Textdatei in Python zu schreiben

import win32api 
import win32com.client 
import pyautogui 
shell = win32com.client.Dispatch("WScript.Shell") 
win32api.Sleep(5000) 
pyautogui.moveTo(17, 213) #moving cursor to a location on software to select data 
win32api.Sleep(2000) 
pyautogui.click() #selecting data 
win32api.Sleep(2000) 
pyautogui.hotkey('ctrl', 'c') #copying data 
win32api.Sleep(2000) 
file_text= open("guru99.txt","w+") #making new txt file to paste copied data 
file_text.write(pyautogui.hotkey('ctrl', 'v')) #pasting data using write fn, which is giving error 
win32api.Sleep(2000) 
file_text.close() 
+0

Sind diejenigen win32api.Sleep (2000) die gleiche wie os .schlaf (2000)? Denn das bedeutet, dass Ihr Programm bei jedem Aufruf für 2000 Sekunden schläft. – J0hn

+0

Bitte posten Sie auch den Inhalt von WScript.shell. –

Antwort

0

Das ist eine wirklich unpythonische Art zu tun, was Sie tun möchten. Beachten Sie außerdem, dass Sie die Datei nicht öffnen, wenn Sie open(filename) verwenden. Sie lesen gerade seinen Inhalt in den Speicher. Aus pyautoguis Sicht ist die Datei nicht geöffnet. Daher Strg + V wird nicht funktionieren.

Da Sie die Daten in die Zwischenablage kopieren konnten, ist das Einfügen einfach.

Geben Sie diesen in Eingabeaufforderung:

pip install pyperclip 

Nachdem Sie in der Lage sind auszuführen "ctrl + c" in Ihrem Skript:

import pyperclip 
s = pyperclip.paste() 
with open('new.txt','w') as g: 
    g.write(s) 
+0

scheint der Autor der Frage, versucht, mit Zwischenablage umzugehen. – Haranadh

+0

@Haranadh Nicht wirklich, da er die 'ctrl + c' aufruft, was bedeutet, dass die Daten nicht in der Zwischenablage vorhanden sind. –

+0

cool :), stimme ich zu, er versucht, kopieren einfügen in einem Skript zu automatisieren. führt möglicherweise keine tatsächliche Kopierdatei aus ... im Falle, dass er von Datei zu Datei kopiert. Ich stimme deine Antwort ab. – Haranadh

Verwandte Themen