Pour les messages Quine ** ici **
J'ai eu beaucoup de mal à m'échapper lors de l'écriture du code de quine sous forme de chaîne en utilisant ʻexec`. Le code de l'article Unicode échappe les guillemets et les guillemets. S'il existe un moyen plus intelligent, veuillez nous le faire savoir dans les commentaires.
[Informations sur la version (sys.version
)]
3.8.2 (default, Apr 23 2020, 14:22:33)
[GCC 8.3.0]
quineRequest.py
authorization_token = 'Bearer 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdi'
z="\\"
escape_def_code = """
def escape(s):
return s.replace(\u0022'\u0022, z + 'u0027').replace('\u0022', z * 2 + 'u0022').replace('\u0060', z * 2 + 'u0060')
"""
exec_code = """
import sys
import requests
import json
url = 'https://qiita.com/api/v2/items'
headers = {{
'Authorization': '{0}',
'Content-Type': 'application/json'
}}
title = 'Quine post avec l'API Qiita(Python)'
body = '''
Pour les articles Quine**[Ici](https://qiita.com/j5c8k6m8/items/bc2324ef036729da1a28)**
\u0060exec\J'ai eu beaucoup de mal à m'échapper lors de l'écriture du code de quine sous forme de chaîne en utilisant u0060.
Le code de l'article Unicode échappe les guillemets et les guillemets.
S'il existe un moyen plus intelligent, veuillez nous le faire savoir dans les commentaires.
[information sur la version(\u0060sys.version\u0060) ]
**'''
body += sys.version
body += '''**
#Code qui a exécuté l'API dans cet article
\u0060\u0060\u0060 python:quineRequest.py
authorization_token = 'Bearer 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdi'
'''
body += ('z=\u0022' + (z * 2) + '\u0022')
body += '''
escape_def_code = \u0022\u0022\u0022{1}\u0022\u0022\u0022
exec_code = \u0022\u0022\u0022{2}\u0022\u0022\u0022
exec_exec_code = \u0022\u0022\u0022{3}\u0022\u0022\u0022
{3}
\u0060\u0060\u0060
'''
tag = [{{'name': 'Qiita'}}, {{'name': 'Python'}}, {{'name': 'quine'}}, {{'name': 'QiitaAPI'}}, {{'name': 'poste quine'}}]
post_data = {{
'private': False,
'body': body,
'title': title,
'tags': tag,
}}
r = requests.post(url, headers=headers, data=json.dumps(post_data))
"""
exec_exec_code = """
exec(escape_def_code)
exec(exec_code.format(authorization_token, escape(escape_def_code), escape(exec_code), escape(exec_exec_code)))
"""
exec(escape_def_code)
exec(exec_code.format(authorization_token, escape(escape_def_code), escape(exec_code), escape(exec_exec_code)))
Recommended Posts