argparse как не расширять путь - PullRequest
0 голосов
/ 03 октября 2019

Я добавил аргумент, чтобы принять путь как str для представления пути на удаленном хосте.

    parser_upload.add_argument(
      'destination',
      help="Remote destination directory, Note'~' should be quoted",
      type=str
    )

Я протестировал свою программу с Git Bash

$ python skeleton.py upload ../../tests/auth_pub.py /home/wsx/test/upload -v
  File "skeleton.py", line 140
    type=str
[2019-10-03 13:25:34] INFO:__main__:Starting loon...
[2019-10-03 13:25:34] INFO:__main__:Upload command is detected.
['../../tests/auth_pub.py']
C:/Tools/Git/home/wsx/test/upload
Starting upload...
['wsx', '10.19.24.165', 22]
Uploading ../../tests/auth_pub.py to C
os.stat_result(st_mode=33206, st_ino=1407374883788705, st_dev=2013704423, st_nlink=1, st_uid=0, st_gid=0, st_size=1690, st_atime=1570071985, st_mtime=1570071985, st_ctime=1569955352)
C/auth_pub.py
1570071985.659461
Traceback (most recent call last):
  File "skeleton.py", line 221, in <module>
    run()
  File "skeleton.py", line 217, in run
    main(sys.argv[1:])
  File "skeleton.py", line 209, in main
    host.upload(args.source, args.destination)
  File "C:\GitHub\loon\src\loon\classes.py", line 181, in upload
    info.st_atime
  File "ssh2\session.pyx", line 553, in ssh2.session.Session.scp_send64
  File "ssh2\utils.pyx", line 151, in ssh2.utils.handle_error_codes
ssh2.exceptions.SCPProtocolError

Я нашел/home/wsx/test/upload становится C:/Tools/Git/home/wsx/test/upload

Цитируется это также не работает:

$ python skeleton.py upload ../../tests/auth_pub.py '/home/wsx/test/upload' -v
[2019-10-03 13:28:17] INFO:__main__:Starting loon...
[2019-10-03 13:28:17] INFO:__main__:Upload command is detected.
['../../tests/auth_pub.py']
C:/Tools/Git/home/wsx/test/upload

Как мне решить эту проблему?

Спасибо.

ОБНОВЛЕНИЕ :

Эта проблема вызвана git bash , а не argparse.

Кстати, как мне закрыть эту проблему?

...