【问题标题】:Python: copied code from Repl.it to Visual Studio does not run correctly: Invallid arguments errorPython:从 Repl.it 复制到 Visual Studio 的代码无法正确运行:无效参数错误
【发布时间】:2021-02-26 18:20:31
【问题描述】:

您好,目前我正在 Repl.it 上开发一些 Python 脚本,以便设备共享。

但现在考虑到我正在转向 Visual Studio(对于工具箱和其他问题,我已经复制了代码,但我得到了一个对我来说没有任何意义的无效参数代码。

Loaded '__main__'
Loaded 'runpy'
Traceback (most recent call last):
  File "C:\Users\joeri\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\joeri\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "c:\program files (x86)\microsoft visual studio\2019\enterprise\common7\ide\extensions\microsoft\python\core\debugpy\__main__.py", line 45, in <module>
    cli.main()
  File "c:\program files (x86)\microsoft visual studio\2019\enterprise\common7\ide\extensions\microsoft\python\core\debugpy/..\debugpy\server\cli.py", line 430, in main
    run()
  File "c:\program files (x86)\microsoft visual studio\2019\enterprise\common7\ide\extensions\microsoft\python\core\debugpy/..\debugpy\server\cli.py", line 267, in run_file
    runpy.run_path(options.target, run_name=compat.force_str("__main__"))
  File "C:\Users\joeri\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)
  File "C:\Users\joeri\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "C:\Users\joeri\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Programmeer portfolio\Programma's\Python Scripts\PythonApplicationGIPODAPITest\PythonApplicationGIPODAPITest.py", line 167, in <module>
The thread 'MainThread' (0x1) has exited with code 0 (0x0).
    fetch_points(api_response_url)
  File "D:\Programmeer portfolio\Programma's\Python Scripts\PythonApplicationGIPODAPITest\PythonApplicationGIPODAPITest.py", line 107, in fetch_points
    save_jsonfile(folder_path, "points", text)
  File "D:\Programmeer portfolio\Programma's\Python Scripts\PythonApplicationGIPODAPITest\PythonApplicationGIPODAPITest.py", line 156, in save_jsonfile
    file1 = open(completeName, "wt")
OSError: [Errno 22] Invalid argument: 'api_request_jsons\x0cetch_points\\points.json'
The program 'python.exe' has exited with code 1 (0x1).

如果代码可以在 repl.it 上运行并且我具有相同的文件和文件夹结构..那么为什么这在 Visual Studio 中不起作用?当然 repl.it 有 python 3.8 而 Visual Studio 有 python 3.7..但这不可能吧?

已编辑:出于隐私原因删除代码。

enter image description here

【问题讨论】:

    标签: python visual-studio repl.it


    【解决方案1】:

    您已从 repl.it 上基于 linux 的文件结构(使用正斜杠 / 来划分文件夹(如 api_request_jsons/fetch_points)转移到本地计算机(运行 Windows)上基于 Windows 的文件结构)它使用反斜杠\ 来描述文件夹。所以api_request_jsons/fetch_points需要转换成api_request_jsons\fetch_points。最好的方法是使用 os.path.join 和每个嵌套文件夹作为参数(即将 api_request_jsons\fetch_points 替换为 os.path.join("api_request_jsons", "fetch_points") 以允许您的代码在 *nix 和 Windows 文件系统之间传输。

    【讨论】:

    • 不,事实并非如此。 Windows 可以很好地使用正斜杠,当然 URL 总是正斜杠。在错误中,很明显他确实有一个带有反斜杠的文字字符串,因为 \f 变成了 ASCII 字符 0x0C,就像错误中一样。如果您已将字符串转换为反斜杠,请将它们改回。
    • 如果你看到我的代码,我已经使用了 Os Path Join 来保存文件功能,但还是谢谢你。我已经用你的解决方案替换了我的变量,它似乎工作正常。谢谢你。尽管我似乎看不到这个程序生成的解决方案资源管理器中的 JSON 文件,但有一个小通知。
    猜你喜欢
    • 2020-01-21
    • 1970-01-01
    • 2022-11-30
    • 2019-11-11
    • 1970-01-01
    • 2021-04-03
    • 2013-05-18
    • 1970-01-01
    • 2019-01-03
    相关资源
    最近更新 更多