zoukankan      html  css  js  c++  java
  • 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'),'../..')))
  • 相关阅读:
    使用nodejs消费SAP Cloud for Customer上的Web service
    如何在SAP Cloud for Customer自定义BO中创建访问控制
    SAP云平台运行环境Cloud Foundry和Neo的区别
    SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣
    SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
    写在Github被微软收购之际
    在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务
    Java实现 LeetCode 517 超级洗衣机
    Java实现 LeetCode 517 超级洗衣机
    Java实现 LeetCode 517 超级洗衣机
  • 原文地址:https://www.cnblogs.com/zhaoshizi/p/9658961.html
Copyright © 2011-2022 走看看