• 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'),'../..')))
  • 相关阅读:
    「2017 山东三轮集训 Day1」Flair
    Luogu P4321 随机漫游
    「WC2018」通道
    「CTSC2018」暴力写挂
    关于二项式相乘
    BZOJ #3625 CF #438E 小朋友和二叉树
    GIS可视化
    微信小程序Promise对象
    SQL Server-执行计划教会我如何创建索引
    IIS+NGINX 负载web服务器
  • 原文地址:https://www.cnblogs.com/zhaoshizi/p/9658961.html
Copyright © 2020-2023  润新知