Binascii error non hexadecimal digit found

Traceback (most recent call last): File "deploy.py", line 70, in signed_txn = w3.eth.account.sign_transaction(transaction, private_key=private_key) File "/Users/mitch/opt/anaconda3/l...

Traceback (most recent call last):
File «deploy.py», line 70, in
signed_txn = w3.eth.account.sign_transaction(transaction, private_key=private_key)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/eth_utils/decorators.py», line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/eth_account/account.py», line 727, in sign_transaction
account = self.from_key(private_key)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/eth_utils/decorators.py», line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/eth_account/account.py», line 250, in from_key
key = self._parsePrivateKey(private_key)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/eth_utils/decorators.py», line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/eth_account/account.py», line 774, in _parsePrivateKey
return self._keys.PrivateKey(HexBytes(key))
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/hexbytes/main.py», line 23, in new
bytesval = to_bytes(val)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/hexbytes/_utils.py», line 17, in to_bytes
return hexstr_to_bytes(val)
File «/Users/mitch/opt/anaconda3/lib/python3.8/site-packages/hexbytes/_utils.py», line 50, in hexstr_to_bytes
return binascii.unhexlify(ascii_hex)
binascii.Error: Non-hexadecimal digit found

Maybe anyone can help me with that issue? Does anyone know how to solve it or what the problem is?

Содержание

  1. TypeError: Non-hexadecimal digit found #302
  2. Comments
  3. Unable to import contract. Error: «Non-hexadecimal digit found» #800
  4. Comments
  5. Current behavior
  6. Expected behavior
  7. How to reproduce
  8. Your environment
  9. sendpayment.py «Non-hexadecimal digit found» #582
  10. Comments
  11. Footer
  12. TypeError: Non-hexadecimal digit found #1
  13. Comments
  14. Footer
  15. TypeError: Non-hexadecimal digit found #1
  16. Comments

TypeError: Non-hexadecimal digit found #302

platform darwin — Python 2.7.13, pytest-3.1.2, py-1.4.34, pluggy-0.4.0
rootdir: /Users/alper/pop, inifile:
plugins: populus-1.6.9

pip install rlp==0.4.7
pip uninstall ethereum && pip install ethereum==1.6.1

This error shows up when I call a library’s function. Please note that this error was not happening with populus 1.4.2. The error is related to self I guess.

=> I might missing a library but I do not know which one 🙁

Error:

The text was updated successfully, but these errors were encountered:

@avatar-lavventura I suspect that there is an unlinked section of your compiled bytecode. If you run pytest with -vv you should see this in the output.

My guess is that this is due to some unaddressed changes to the solc compiler which is causing populus to not be able to find (and subsequently link) the appropriate sections of the bytecode.

Can you update the above output with the results after adding -vv to your command to confirm?

How could I fix this error, should I re-install solc ? I have removed solc 0.4.8 and reinstall from brew, I guess thats way there was some unlinked addresses.

The way I have installed solc :

The output with -vv and without -vv seems the same. Output of -vv :

Источник

Unable to import contract. Error: «Non-hexadecimal digit found» #800

Current behavior

  • Are you using the latest available version? If not, first update and verify the problem still exists.
    On branch development, up to date.
  • What is the problem?
    Unable to import contract getting «Non-hexadecimal digit found». See messages below;

/Desktop/neo-python/venv/lib/python3.6/site-packages/twisted/_threads/_threadworker.py», line 46, in work task() File «

/Desktop/neo-python/venv/lib/python3.6/site-packages/twisted/_threads/_team.py», line 190, in doWork task() File «

/Desktop/neo-python/venv/lib/python3.6/site-packages/twisted/python/threadpool.py», line 250, in inContext result = inContext.theWork() File «

/Desktop/neo-python/venv/lib/python3.6/site-packages/twisted/python/threadpool.py», line 266, in inContext.theWork = lambda: context.call(ctx, func, *args, **kw) File «

/Desktop/neo-python/venv/lib/python3.6/site-packages/twisted/python/context.py», line 122, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File «

/Desktop/neo-python/venv/lib/python3.6/site-packages/twisted/python/context.py», line 85, in callWithContext return func(*args,**kw) File «prompt.py», line 1079, in run traceback.print_stack() Traceback (most recent call last): File «prompt.py», line 1025, in run self.do_import(arguments) File «prompt.py», line 384, in do_import return self.load_smart_contract(arguments) File «prompt.py», line 824, in load_smart_contract function_code = LoadContract(args[1:]) File «

/Desktop/neo-python/neo/Prompt/Commands/LoadSmartContract.py», line 70, in LoadContract for p in binascii.unhexlify(params): binascii.Error: Non-hexadecimal digit found»>

  • Include a screenshot if it makes sense.

Expected behavior

What should be happening?
Prompted to fill out properties about contract

Include a screenshot if it makes sense.

How to reproduce

  • Please explain the steps to reproduce the problem. If you are having an issue with your machine or build tools, the issue belongs on another repository as that is outside of the scope of this project.

Create Hello World contract name it: sample1.py

Build the contract:

Your environment

Let us know in what environment you’re running into the issue:

  • OS: (Windows version/Linux distro/OSX version)
    MacOS 10.14.2
  • neo-python version: (hint: use np-prompt —version )
    neo-python v0.8.3-dev
  • Python version: (hint: python -V )
    Python 3.6.6

The text was updated successfully, but these errors were encountered:

Источник

sendpayment.py «Non-hexadecimal digit found» #582

python sendpayment.py —yes -N4 —rpcwallet «» 4100000 19Fg5KQdbPwsYwXZG6wYtgSBdjgk4DA3fQ

Any assistance gratefully received.

The text was updated successfully, but these errors were encountered:

I’ve just copy & pasted your command (only replaced the address of course) and it seems to work for me.
At which point does it crash? Right away? While performing the transaction building? Is this reproducible or did it just happen once, then worked other times?

Maybe you had an invisibile character in that line somewhere, which sometimes accidently happens when hitting a wrong key or marking slightly more text while copying to clipboard.

Seems likely to be related to what was fixed in #521 . If you aren’t running from current develop branch, I suggest doing so.

But to be sure that that was the cause, would need to look in the log. You want to see whether your counterparty sent an invalid encryption pubkey (it should be 32 bytes, so 64 hex chars)

See below. Sorry.

Firstly to Alex’s questions

  1. When does it happen? — After accepting the offers and providing the Bitcoin Core password
  2. Is it reproducible? — Yes, but I gave up trying since it appeared to be a bit beyond my competence to diagnose or remedy.

Adam, I’m running, as far as my git foo takes me, HEAD detached at v0.1.4 I’ll try and catch-up.

I’ve got a couple of things to check, thanks for the impulse to dive into the log.

Yes so you’re running the latest release.

Edit: I’m talking nonsense. The call stack shows it to be related to the bitcoin keys. I’ll look again more carefully, ignore my previous advice for now.

This might be a more useful excerpt from the log:

If you do dumpprivkey on the command line, does it show what looks like a sensible private key in WIF format?

I’d be interested to hear if others (or you?) have been using the rpcwallet option successfully recently (in particular since 0.1.4)

  1. No, it complains Method not found (code -32601)
  2. Well Alex has, and I’ve only had this grief (with that specific address) since the 21st of June. I can’t recall when I used it successfully before then.

Excuse me now, it’s bedtime and I have a head cold that’s making thinking even harder than usual. Thanks again for the assistance. Where, I wonder, is this unknown address coming from.

PS. I upgraded BitcoinCore to 0.12.1 Jun 12

Needs more testing than I did, as I didnt complete a full transaction. Just checked that it doesnt crash until I can pick offers, as i assumed (incorrectly) that you crash before that.

There doesn’t seem to be a connection with the other issue, after sorting that one, the result differs only in the Bitcoin address that triggers the crash:

This time though, dumprivkey 1Nx1VDfnNL2kryG6fnmzSxD1A4SEkWXCb4 does have a sensible output. As does dumpprivkey 1GD5MA47kgtbSD5pSPMJ4fM3VapmJuG7SV from the earlier report. It would seem my cold affected me more than I thought.

This is probably related to 6a86338 ; if so, it should now be fixed. Otherwise feel free to re-open.

© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

TypeError: Non-hexadecimal digit found #1

Getting the following error when running ikeforce:
Encrypted payload received.
Encrypted Payload: 768b4af3fd440dfe3d584f392af38db99907a97b60c1383b49c8493e95889882d1f8035fea1694e4f8826b5d8a230b68aeffe1b23dddc6197355ab8b11200cef491eab4e28919f46cedaeda02f3eb59758bb7fb4b0d36da4f914b0178b0af3a5
Traceback (most recent call last):
File «./ikeforce.py», line 708, in
respDict,listVIDs = ikeHandling.main(packets[-1],encType,hashType,encKey,initIV,curIV)
File «/opt/ikeforce/ikehandler.py», line 618, in main
ikeDecrypt = ikeCrypto.ikeCipher(encKey, initIV.decode(‘hex’), encType)
File «/usr/lib/python2.7/encodings/hex_codec.py», line 42, in hex_decode
output = binascii.a2b_hex(input)
TypeError: Non-hexadecimal digit found

The text was updated successfully, but these errors were encountered:

This looks like a decryption issue, but it’s hard to tell without further detail. Can you paste the full command masking anything sensitive and including debug output (-d)? Also any device version information you have would be useful.

I’m pretty sure handling this error is already fixed in the latest version, but I haven’t had time to finish off the development and release it.

© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

TypeError: Non-hexadecimal digit found #1

Maybe a different key. Nice project btw.

000000A0: 0D 3C 28 82 6F 50 DF F9 2F 2C 33 6E 6D B6 E5 EF . . b1mutelen : 0x99730e88 b1posend : 0x-988ffdd5 ptraes : 0x-988ffdd6 00000000: 8E EF 90 1B 37 F1 9C D5 43 71 A2 21 70 F8 E7 22 . 7. Cq.!p..» 00000010: 5B 73 A2 77 F5 F5 93 76 68 C4 22 FB 2F 0A 03 70 [s.w. vh.»./..p size: 0x132030c5e blocks : 0x99730f 00000000: 09 62 E9 16 1D A0 9A 9B 2D E2 D7 0B 11 32 0A FA .b. -. 2.. 00000010: 36 1B F0 5A 56 6F 7E 85 48 6F 7E 81 88 85 16 4E 6..ZVo

. N 00000020: 9E BF DB 74 39 D9 0A BC C0 73 B6 DD 71 8D 95 99 . t9. s..q. 00000030: 36 84 48 66 5E EE C6 5D CE 8A 4D 49 7A C6 A7 2E 6.Hf^..]..MIz. 00000040: 85 05 D6 49 0C 3C 00 05 BB 5C 8B DA 59 19 B3 8A . I. ..T. 000000A0: BC A4 82 E7 E1 69 FF 36 DD 26 52 E2 77 76 9F 4A . i.6.&R.wv.J 000000B0: 75 6F 8A FF 0E F3 F2 9F 40 97 91 2F E9 21 3E A7 uo. @../.!>. 000000C0: 97 22 D7 69 9A 09 CD 30 A5 94 6C C7 EC 6B C0 D9 .».i. 0..l..k.. 000000D0: 86 AF 94 62 B1 64 E1 45 0D 24 D1 81 62 3F 47 A1 . b.d.E.$..b?G. 000000E0: 94 0C EF 6B CC 8A 9E DF 73 E9 09 6E B6 2C 4E 53 . k. s..n.,NS 000000F0: 7A FD A2 99 43 78 E9 BE 39 A5 70 DB 80 AE 93 B0 z. Cx..9.p. Traceback (most recent call last): File «bli223dcryptex.py», line 140, in aes = AES.new(aesk.decode(‘hex’), AES.MODE_CBC, IV) File «/usr/lib/python2.7/encodings/hex_codec.py», line 42, in hex_decode output = binascii.a2b_hex(input) TypeError: Non-hexadecimal digit found»>

The text was updated successfully, but these errors were encountered:

Источник

I seem to be running the following error when I try to run this script: ,

from brownie import AdvancedCollectible, accounts, network, config

def main():
    dev = accounts.add(config['wallets']['from_key'])
    print(dev)

My brownie-config.yaml:

# exclude SafeMath when calculating test coverage
# https://eth-brownie.readthedocs.io/en/v1.10.3/config.html#exclude_paths
reports:
  exclude_contracts:
    - SafeMath
dependencies:
  - smartcontractkit/chainlink-brownie-contracts@1.0.2
  - OpenZeppelin/openzeppelin-contracts@3.4.0
compiler:
  solc:
    remappings:
      - '@chainlink=smartcontractkit/chainlink-brownie-contracts@1.0.2'
      - '@openzeppelin=OpenZeppelin/openzeppelin-contracts@3.4.0'
dotenv: .env
wallets:
  from_key: ${PRIVATE_KEY}
  from_mnemonic: ${MNEMONIC} 

The error:

brownie run scripts/advanced_collectible/deploy_advanced.py 

Brownie v1.14.3 - Python development framework for Ethereum

NftdemoProject is the active project.

Launching 'ganache-cli --port 8545 --gasLimit 12000000 --accounts 10 --hardfork istanbul --mnemonic brownie'...

Running 'scripts/advanced_collectible/deploy_advanced.py::main'...
  File "brownie/_cli/run.py", line 49, in main
    return_value, frame = run(
  File "brownie/project/scripts.py", line 103, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File "./scripts/advanced_collectible/deploy_advanced.py", line 4, in main
    dev = accounts.add(config['wallets']['from_key'])
  File "brownie/network/account.py", line 132, in add
    w3account = web3.eth.account.from_key(private_key)
  File "eth_utils/decorators.py", line 18, in _wrapper
    return self.method(obj, *args, **kwargs)
  File "eth_account/account.py", line 246, in from_key
    key = self._parsePrivateKey(private_key)
  File "eth_utils/decorators.py", line 18, in _wrapper
    return self.method(obj, *args, **kwargs)
  File "eth_account/account.py", line 694, in _parsePrivateKey
    return self._keys.PrivateKey(HexBytes(key))
  File "hexbytes/main.py", line 23, in __new__
    bytesval = to_bytes(val)
  File "hexbytes/_utils.py", line 17, in to_bytes
    return hexstr_to_bytes(val)
  File "hexbytes/_utils.py", line 50, in hexstr_to_bytes
    return binascii.unhexlify(ascii_hex)
Error: Non-hexadecimal digit found

I made sure I have my keys set in my .env file as export PRIVATE_KEY='0x...", so why is it not able to pull the variable from it or am I missing some step here? Any advice would be appreciated. Thanks!

  • #1

f = open(«privat.txt», «r»)
for line in f:
acct = web3.eth.account.privateKeyToAccount(line)
print(line)

При попытке выполнить код получаю следующую ошибку: «Non-hexadecimal digit found». В файле находятся приватные ключи по 32 символа, каждый с новой строки.

  • #2

При попытке выполнить код получаю следующую ошибку: «Non-hexadecimal digit found». В файле находятся приватные ключи по 32 символа, каждый с новой строки.

Попробуйте добавить '0x' перед ключом:

Python:

with open("privat.txt", "r") as f:
    for line in f:
        acct = web3.eth.account.privateKeyToAccount('0x' + line)
        print(acct)

Итак, я написал этот код (это как раз та часть, где он преобразует строку в шестнадцатеричный), и когда я пытаюсь расшифровать, я получаю следующее сообщение: Обнаружена не шестнадцатеричная цифра.

Вот строка в шестнадцатеричный код:

def password (pslen):
  alphabet = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+}{:|?><,./;'[]"
  pw_length = pslen
  mypw = ""
  for i in range(pw_length):
    next_index = random.randrange(len(alphabet))
    mypw = mypw + alphabet[next_index]
  print ("Password: ",mypw) 
  parolaBin = bin(int.from_bytes(mypw.encode(), 'big'))
  parolaHex = hex(int(parolaBin, 2))
  return parolaHex

А здесь шестнадцатеричный для строкового кода

pw = binascii.unhexlify(pw)

Программа читает pw из файла.

Программа намного больше, но это та часть, в которой я застрял и не сработает.

Метод, который я использовал для преобразования строки в шестнадцатеричный, работал, но шестнадцатеричный в строку — нет.

Может кто-то помочь мне, пожалуйста?

1 ответ

Лучший ответ

Вы преобразуете целое число в шестнадцатеричное с помощью функции hex():

parolaHex = hex(int(parolaBin, 2))

Это включает префикс 0x, который не является шестнадцатеричным значением. Вот на что жалуется binascii.unhexlify():

>>> import binascii
>>> binascii.unhexlify('0xff')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
binascii.Error: Non-hexadecimal digit found
>>> binascii.unhexlify('ff')
b'xff'

Просто удалите этот префикс или не создавайте его, используя вместо этого format(integer, 'x'):

parolaHex = format(int(parolaBin, 2), 'x')

Ваш метод создания случайного пароля в шестнадцатеричном формате … слишком многословен. Вы можете просто сгенерировать случайные шестнадцатеричные цифры:

import string

return ''.join([random.choice(string.hexdigits) for _ in range(pwlen)])

И получите тот же результат с меньшими усилиями. В любом случае, сначала преобразование целого числа в двоичную запись, а затем его обратное преобразование в целое число:

parolaBin = bin(int.from_bytes(mypw.encode(), 'big'))
parolaHex = hex(int(parolaBin, 2))

Определенно делает не что иное, как согревание вашего процессора в ночное время. Вы могли сразу перейти к гексагону:

parolaHex = format(int.from_bytes(mypw.encode(), 'big'), 'x')


4

Martijn Pieters
14 Дек 2016 в 20:24

💬 Question: How to convert a given hex string such as '0xF' to a binary number such as '0b1111'?

There are multiple variants of this problem depending on how you want the conversion and from which type to which type. In this article, we’ll go over the different methods from simple to more sophisticated.

Let’s get started! 👇

You can convert a hexadecimal number (not a string) with the prefix 0x to a binary string using Python’s built-in function bin(). For example, the expression bin(0xf) yields the binary string '0b1111'.

Let’s have a look at a couple of simple examples:

>>> bin(0xF)
'0b1111'
>>> bin(0x1)
'0b1'
>>> bin(0x2)
'0b10'
>>> bin(0x4)
'0b100'
>>> bin(0x8)
'0b1000'
>>> bin(0xfff)
'0b111111111111'
>>> bin(0x10000)
'0b10000000000000000'

Hex to Binary Number

The type of the return value of the bin() function is a string, i.e., binary representation of the binary number. For example, bin(0xf) yields '0b1111' and not 0b1111.

>>> type(bin(0xfff))
<class 'str'>

To obtain a binary representation, you can simply pass the binary string into the eval() function that essentially “runs” the string as a code snippet it represents.

Like so:

>>> eval(bin(0xfff))
4095
>>> 0xfff
4095

This way, you can always convert the hex number to a binary and use the binary string representation as a binary number in your code at any point in time.

We still haven’t exactly answered the question of how to convert a hexadecimal string to a binary number in Python.

Hex String to Binary

If you pass a hexadecimal string instead of a hexadecimal number into the bin() function, Python raises a TypeError: 'str' object cannot be interpreted as an integer.

>>> bin(0xfff)
'0b111111111111'
>>> bin('0xfff')
Traceback (most recent call last):
  File "<pyshell#48>", line 1, in <module>
    bin('0xfff')
TypeError: 'str' object cannot be interpreted as an integer

To fix this error and convert a hexadecimal string to a binary, you can first convert the hex string to a decimal using eval(hex_strin) and pass the result into the bin() function to convert it to a binary string:

>>> bin(eval('0xfff'))
'0b111111111111'

The result is a binary string representation of the binary number. You can at any time convert it to an integer by passing it into the eval() function once more.

>>> eval(bin(eval('0xfff')))
4095
>>> eval('0xfff')
4095

As you can see, you could have saved yourself some effort by converting the hex string directly to an integer using the eval() function only once.

🌎 Recommended Tutorial: How to Write a Hex String as Binary Data & Binary File in Python?

Convert Hex to Binary with Leading Digits

To convert a hexadecimal string to a binary string with leading '0' digits, you can use the zfill() function on the result of the bin() function after using slicing bin(...)[2:] to get rid of the '0b' binary prefix.

💡 The zfill() string method fills the string from the left with "0" characters.

>>> bin(int(hex_string, 16))[2:].zfill(20)
'00000000111111111111'
>>> bin(int(hex_string, 16))[2:].zfill(100)
'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111'

The resulting strings are not too useful without adding back the '0b' prefix.

However, a simple string concatenation exercise can do that—so that you can pass the resulting binary string back to the eval() function, for example.

In the following code snippet, I have highlighted the line to fix the SyntaxError of using a binary number without '0b' prefix:

>>> my_binary = bin(int(hex_string, 16))[2:].zfill(100)
>>> my_binary
'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111'
>>> eval(my_binary)
Traceback (most recent call last):
  File "<pyshell#60>", line 1, in <module>
    eval(my_binary)
  File "<string>", line 1
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111
                                                                                                       ^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
>>> eval('0b' + my_binary)
4095

Hex String to Bytes Object Using unhexlify()

You can also import the binasccii library that is built in your standard Python installation and run binascii.unhexlify(hex_str) to get a bytes object as a result.

import binascii

hex_str = 'ffff'
bin_str = binascii.unhexlify(hex_str)

print(bin_str)
# b'xffxff'

print(type(bin_str))
# <class 'bytes'>

However, you should not pass a hex string in the format '0xffff' into it or it will raise a binascii.Error: Non-hexadecimal digit found. Instead pass a hex string in the format 'ffff' without leading '0x' prefix.

In general, I’d prefer the following method to solve this problem (hex to bytes) because no library import is needed:

Bytes fromhex()

To convert a hexadecimal string to a bytes object, you can use the bytes.fromhex() function and pass the hex_string into it as a single argument. No '0x' prefix needed as well!

Here’s a simple example:

hex_str = 'ffff'
bin_str = bytes.fromhex(hex_str)

print(bin_str)
# b'xffxff'

print(type(bin_str))
# <class 'bytes'>

f-String for Hex to Binary Conversion

You can use the f-String expression f'{0xfff:0>100b}' to convert the hexadecimal number 0xfff to a binary number with 100 leading 0s.

Here’s an example:

>>> f'{0xfff:0>100b}'
'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111'

You can see what the different parts of the f-string mean by breaking it up like so:

>>> number, pad, rjust, size, kind = 0xfff, '0', '>', 100, 'b'
>>> f'{number:{pad}{rjust}{size}{kind}}'
'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111'

You can learn more about f-Strings in our full tutorial on the Finxter blog.

Source: This code snippet was inspired by the great SO answer from here.

Where to Go From Here

Thanks for reading through the whole tutorial — and for spending your valuable time with us. We’d love to keep you active as a learner in our free email academy.

Join us and download your cheat sheets here:

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.

To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.

His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.

Понравилась статья? Поделить с друзьями:
  • Binar 5s ошибка 37 как разблокировать
  • Binance ошибка операции повторите попытку позже
  • Binance com 403 error the request could not be satisfied
  • Bin sh 1 syntax error unterminated quoted string
  • Bin sh 1 syntax error end of file unexpected expecting fi