• python杂记一


    1. 输出CSV文件

    用python输出csv文件不难,可是MS office excel和WPS 对输出的CSV文件打开规则不一样。

    WPS可以支持CSV以' '为分隔符,打开文件直接写内容

    MS office excel必须用','为分隔符,打开文件在写内容之前,要先写入文件头:u"ufeff",否则输出的中文会出现乱码。

    import codecs
     
    csvstr = 'test'
    fh = codecs.open("myfile.csv","w","utf-8")
    fh.write(u"ufeff")
    fh.write(csvstr)
    fh.close()

    2. 使用pyInstaller打包python程序

    pyInstaller包目前可以直接使用pip install pyinstaller来安装,安装完成之后,在命令行输入pyinstaller命令,会出现参数提示信息。

    D:SourcePython>pyinstaller
    usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME]
                       [--add-data <SRC;DEST or SRC:DEST>]
                       [--add-binary <SRC;DEST or SRC:DEST>] [-p DIR]
                       [--hidden-import MODULENAME]
                       [--additional-hooks-dir HOOKSPATH]
                       [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES]
                       [--key KEY] [-d [{all,imports,bootloader,noarchive}]] [-s]
                       [--noupx] [-c] [-w]
                       [-i <FILE.ico or FILE.exe,ID or FILE.icns>]
                       [--version-file FILE] [-m <FILE or XML>] [-r RESOURCE]
                       [--uac-admin] [--uac-uiaccess] [--win-private-assemblies]
                       [--win-no-prefer-redirects]
                       [--osx-bundle-identifier BUNDLE_IDENTIFIER]
                       [--runtime-tmpdir PATH] [--bootloader-ignore-signals]
                       [--distpath DIR] [--workpath WORKPATH] [-y]
                       [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL]
                       scriptname [scriptname ...]
    pyinstaller: error: the following arguments are required: scriptname

    pyinstaller命令后scriptname参数是必须的,这是要生成exe的脚本文件,其都是可选参数,如果直接用pyinstaller scriptname来打包,会生成很多dll文件,如果想打包成一个可执行程序,要加参数-F,pyinstaller -F scriptname,其他参数下如图所示。

    要打包的脚本文件要注意import的包,尽量只import需要的包和类,否则生成的文件可能会很大。

    3. 获取当前文件路径,上级目录路径

    import os,sys

    使用sys.path[0]、sys.argv[0]、os.getcwd()、os.path.abspath(__file__)、os.path.realpath(__file__)

    sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path。

    如果你在C: est目录下执行python getpathgetpath.py,那么os.getcwd()会输出“C: est”,sys.path[0]会输出“C: estgetpath”。

    获取当前的路径:

    __file__是当前执行的文件

    # 获取当前文件__file__的路径
    print(os.path.realpath(__file__))
    # 获取当前文件__file__的所在目录
    print(os.path.dirname(os.path.realpath(__file__)))
    print(os.path.abspath(os.path.dirname(__file__)))
    print(os.path.split(os.path.realpath(__file__))[0])
    # 获取上级目录
    print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
    print(os.path.abspath(os.path.join(os.path.dirname('APPtest\RSA.py'),'...')))
    # 获取上上级目录
    print(os.path.abspath(os.path.join(os.path.dirname('APPtest\RSA.py'),'../..')))
  • 相关阅读:
    Benelux Algorithm Programming Contest 2016 Preliminary K. Translators’ Dinner(思路)
    Benelux Algorithm Programming Contest 2016 Preliminary Target Practice
    Benelux Algorithm Programming Contest 2016 Preliminary I. Rock Band
    Benelux Algorithm Programming Contest 2016 Preliminary A. Block Game
    ICPC Northeastern European Regional Contest 2019 Apprentice Learning Trajectory
    ICPC Northeastern European Regional Contest 2019 Key Storage
    2018 ACM ICPC Asia Regional
    2018 ACM ICPC Asia Regional
    Mybatis入库出现异常后,如何捕捉异常
    优雅停止 SpringBoot 服务,拒绝 kill -9 暴力停止
  • 原文地址:https://www.cnblogs.com/zhaoshizi/p/9658961.html
Copyright © 2020-2023  润新知