本文作者:admin

python怎么读写xls文件

admin 2021-03-14 62
python怎么读写xls文件摘要: python怎么在已有一个表格的xls文件上增加另一个表格利用84功能就能实现这个要求.python怎么导入自己写的包包(packages)其实也是模块,其类型Type也是modu...

  

python 怎么在已有一个表格的xls文件上增加另一个表格

  利用84功能就能实现这个要求.

  

python怎么导入自己写的包

  包(packages)其实也是模块,其类型Type也是module.通常引用自定义模块时有两种方法:

  1)将两个文件放在同一目录下.

  2)在sys.path下添加要引用的py文件的路径.然后import.

  这样的做法,对于少数文件是可行的,但如果程序数目很多,层级很复杂时就比较麻烦了.此时用package就能将多个py文件组织起来,类似于第三方包一样的引用.要方便很多.

  package的层次结构与程序所在目录的层次结构相同,且必须包含一个__init__.py的文件.__init__.py可以为空,只要它存在就表明此目录被作为一个package处理.

  package1/

  __init__.py

  subPack1/

  __init__.py

  module_11.py

  module_12.py

  module_13.py

  subPack2/

  __init__.py

  module_21.py

  module_22.py

  ……

  __init__.py可以为空,只要它存在,就表明此目录应被作为一个package处理.当然,__init__.py中也可以设置相应的内容.

  好了,现在我们在module_11.py中定义一个函数:

  def funA():

  print "funcA in module_11"

  return

  一.引用模块

  在顶层目录(也就是package1所在的目录,当然也参考上面的介绍,将package1放在解释器能够搜索到的地方)运行python:

  >>>from package1.subPack1.module_11 import funcA

  >>>funcA()

  funcA in module_11

  这样,我们就按照package的层次关系,正确调用了module_11中的函数.

  二.使用通配符*,导入某个module中的所有元素

  答案就在__init__.py中.我们在subPack1的__init__.py文件中写

  __all__ = ['module_13', 'module_12']

  然后进入python

  >>>from package1.subPack1 import *

  >>>module_11.funcA()

  Traceback (most recent call last):

  File "", line 1, in

  ImportError: No module named module_11

  也就是说,以*导入时,package内的module是受__init__.py限制的.

  三.在package内部互相调用.

  1.如果希望调用同一个package中的module,则直接import即可.也就是说,在module_12.py中,可以直接使用

  import module_11

  2.如果不在同一个package中,例如我们希望在module_21.py中调用module_11.py中的FuncA,则应该这样:

  from module_11包名.module_11

python怎么读写xls文件

import funcA

  四.Python如何找到我们定义的module?

  在标准包sys中path属性记录了Python的包路径.

  import sys

  print(sys.path)

  通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.

  另一种方便的方法是编程中直接指定我们的module路径到sys.path 中.

  常用的话也可以放在python27\lib\site-packages文件夹下.

  

怎么读取xls文件格式?

  WIDOWS XP或2000

  

python怎么生成可执行文件

  Python是一个脚本语言,被解释器解释执行.它的发布方式:

  .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安装包就是这样做的)

  .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库.

  可执行文件:对于非码农用户或者一些小白用户,你让他装个Python同时还要折腾一堆依赖库,那简直是个灾难.对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉Ta即可.比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,...).

  本文主要就是介绍最后一种方式,.py和.pyc都比较简单,Python本身就可以搞定.将Python脚本打包成可执行文件有多种方式,本文重点介绍PyInstaller,其它仅作比较和参考.

  Freezing Your Code

  各种打包工具的对比如下(来自文章Freezing Your Code):

  Solution

  Windows

  Linux

  OS X

  Python 3

  License

  One-file mode

  Zipfile import

  Eggs

  pkg_resources support

  bbFreeze ? ?yes ? ?yes ? ?yes ? ?no ? ?MIT ? ?no ? ?yes ? ?yes ? ?yes ? ?

  py2exe ? ?yes ? ?no ? ?no ? ?yes ? ?MIT ? ?yes ? ?yes ? ?no ? ?no ? ?

  pyInstaller ? ?yes ? ?yes ? ?yes ? ?no ? ?GPL ? ?yes ? ?no ? ?yes ? ?no ? ?

  cx_Freeze ? ?yes ? ?yes ? ?yes ? ?yes ? ?PSF ? ?no ? ?yes ? ?yes ? ?no ? ?

  py2app ? ?no ? ?no ? ?yes ? ?yes ? ?MIT ? ?no ? ?yes ? ?yes ? ?yes ? ?

  PS.其中pyInstaller和cx_Freeze都是不错的,stackoverflow上也有人建议用cx_Freeze,说是更便捷些.pkg_resources新版的pyInstaller貌似是支持的.

  安装PyInstaller

  对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定:

  pip install pyinstaller

  通常我们会下载源码包,然后进入包目录,执行下面的命令(需要安装setuptools):

  python setup.py install

  安装完后,检查安装成功与否:

  pyinstaller --version

  安装成功后,就可以使用下面的命令了:

  pyinstaller?: 打包可执行文件的主要命令,详细用法下面会介绍.

  pyi-archive_viewer?: 查看可执行包里面的文件列表.

  pyi-bindepend?: 查看可执行文件依赖的动态库(.so或.dll文件)

  pyi-...?: 等等.

  使用PyInstaller

  pyinstaller的语法:

  pyinstaller [options] script [script ...] | specfile

  最简单的用法,在和myscript.py同目录下执行命令:

  pyinstaller mycript.py

  然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件,对于上面的命令你会发现dist目录下面有一堆文件,各种都动态库文件和myscrip可执行文件.有时这样感觉比较麻烦,需要打包dist下面的所有东西才能发布,万一丢掉一个动态库就无法运行了,好在pyInstaller支持单文件模式,只需要执行:

  pyinstaller -F mycript.py

  你会发现dist下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的203作系统类似的系统的下面.

  当然,pyinstaller还有各种选项,有通用选项,如-d选项用于debug,了解pyInstaller执行的过程;还有一些针对不同平台的选项,具体用法可以访问PyInstaller官方WIKI.

  在执行pyInstaller命令的时候,会在和脚本相同目录下,生成一个.spec文件,该文件会告诉pyinstaller如何处理你的所有脚本,同时包含了命令选项.一般我们不用去理会这个文件,若需要打包数据文件,或者给打包的二进制增加一些Python的运行时选项时...一些高级打包选项时,需要手动编辑.spec文件.可以使用:

  pyi-makespec options script [script ...]

  创建一个.spec文件,对于手动编辑的.spec文件,我们可以使用下面任意一条命令:

  pyinstaller specfile pyi-build specfile

  PyInstaller的原理简介

  PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库.在Linux203作系统下,它主要用的binutil工具包里面的ldd和objdump命令.

  PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面.

  可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件.你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了.

  需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下.也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包.

  参考资料

  

菜鸟求助!! 用python怎样将一个文件的内容读取到另一个文件?最好给一个代码,跪谢!!!!

  ifn = r"源文件路径"

  ofn = r"目标文件路径"

  #写入和写出带上"b"是为了防止读到二进制文件而无法读完的问题

  infile = open(ifn, 'rb')

  outfile = open(ofn, 'wb')

  outfile.write(infile.read())

  infile.close()

  outfile.close()

  

如何用python生成和读取二进制文件

  可以使用numpy.fromfile(),也可以使用open(filename, 'rb'),其中的'b'就是二进制的意思2113,然后使用文件类型的read方法5261,读取一些字节,再用struct.unpack()方法4102来解析二进制.

  第一种方法是一次性读入文件(或文件的前多少个连续字节)到一个数组中,因此,灵活性差1653.

  第二种方法灵活性很高,可以读取任意位置(使用文件的seek()方法跳跃位置)的二进制数据,再使用struct.unpack()方法来进行各种二进制解析.

  提示:二进制文件是不保留存储方版式的数据格权式,因此,读二进制文件时应该知道二进制文件的存储格式.

文章版权及转载声明

作者:admin本文地址:http://www.jsg1407.com/msmh/9823.html发布于 2021-03-14
文章转载或复制请以超链接形式并注明出处明盛漫画网-漫画-日韩动漫-韩国漫画-日本漫画

阅读
分享