1
votes

Pourquoi python écrit-il `au lieu de @

Alors j'essaye d'écrire un spam bot pour ennuyer mes amis en discorde (je sais que je suis diabolique) Voici le code

import time
import pyautogui
time.sleep(10)
victim = "Saka"
f = open("spamtext", 'r')
for word in f:
    pyautogui.keyUp('shift')
    pyautogui.typewrite("@" + victim)
    pyautogui.press("enter")
    time.sleep(1)

Le problème est qu'au lieu de taper "@Saka", il tape "` Saka ". J'ai essayé pyautogui.keyUp('shift') , mais cela ne fonctionne toujours pas, des idées? (C'est aussi la première fois que je pose une question ici, donc désolé si je n'ai pas fourni suffisamment d'informations)


3 commentaires

J'ai corrigé les balises de votre question. Les balises ne doivent pas être utilisées pour indiquer pourquoi vous écrivez le code; ils doivent être utilisés pour indiquer ce que vous utilisez et ce que vous avez besoin d'aide.


cela fonctionne correctement pour moi, avec @ - windows 10 - python 3


veuillez vérifier la disposition de votre clavier / le définir en English puis exécutez votre application


3 Réponses :


0
votes

Lol! Ceci est un article amusant. Bravo à la farce.

Avec pyautogui, il appuie littéralement sur le clavier. Imaginez un robot humain le faisant très vite. Vous devez donc passer les touches exactes sur lesquelles vous appuyez sur votre clavier pour afficher le "@"

Pour ce faire, la touche de raccourci función est disponible.

Pour faciliter la pression des touches de raccourci ou des raccourcis clavier, la touche de raccourci () peut être transmise à plusieurs chaînes de touches qui seront enfoncées dans l'ordre, puis relâchées dans l'ordre inverse.

Dans mon clavier, je peux générer un @symbol avec shift + 2, ce qui, je pense, serait quelque chose comme:

pyautogui.hotkey ('décalage', '2')


2 commentaires

Je l'ai mappé sur mon clavier, mais ne fonctionne toujours pas :(, Merci pour toutes les informations, je suis nouveau sur python, donc cela m'a vraiment aidé!


Vous êtes les bienvenus, la langue de votre clavier est peut-être à l'origine du problème. Essayez de le changer en ENG US standard pour utiliser shift + 2. Si vous le trouvez utile, n'oubliez pas de voter pour hehe



0
votes

Je pense que ce problème concerne la disposition de votre clavier,
Vous pouvez donc imprimer à la connexion en ASCII et vous assurer que cela fonctionne partout

import time
import pyautogui
time.sleep(10)
victim = "Saka"
at_sign = chr(64) # 64 is at-sign ascii character: @
f = open("spamtext", 'r')
for word in f:
    pyautogui.typewrite(at_sign + victim)
    pyautogui.press("enter")
    time.sleep(1)


4 commentaires

encore dehors met `Saka :( Peut-être que c'est pour le mieux cela ne fonctionnera pas XD. Merci de votre aide!


comment tapez-vous @ sur votre ordinateur? Je veux dire les combinaisons de touches? shift + 2 ou quoi?


J'utilise un clavier japonais, donc il a sa propre touche pour @ qui ne vous oblige pas à appuyer sur Maj. C'est la clé à côté de "P"


Quel est votre système d'exploitation? windows / mac / linux



-1
votes

Merci à tous pour votre aide! Le fait est que le clavier japonais ne fonctionne pas bien avec pyautogui car il dispose de 2 modes, anglais et japonais, entre lesquels il continue de basculer. Tout ce que j'avais à faire était de télécharger le clavier américain et maintenant je pense que mes amis me détestent ...

Merci à Martin Castellon pour l'aide!


0 commentaires