pythondocument
㈠ python用file对象和open方法处理文件的区别
python document 是这么说的:
File objects are implemented using C’s stdio package and can be created
with the built-in open() function. File objects are also returned by
some other built-in functions and methods, such as os.popen() and
os.fdopen() and the makefile()
method of socket objects. Temporary files can be created using the
tempfile mole, and high-level file operations such as ing, moving,
and deleting files and directories can be achieved with the shutil
mole.
并且对File 对象的构造函数说明如下:
file(filename[, mode[, bufsize]])
Constructor function for the file type, described further in section
File Objects. The constructor’s arguments are the same as those of the
open() built-in function described below.
When opening a file, it’s preferable to use open() instead of invoking
this constructor directly. file is more suited to type testing (for
example, writing isinstance(f, file)).
New in version 2.2.
但是其实我在如下代码段中,def setNodeManagerDomain(domainDir):
try:
domainName = os.path.basename(domainDir)
fd = open(domainDir + '/nodemanager/nodemanager.domains', 'w')
fd.write('#Domains and directories created by Configuration Wizard.\n')
fd.write('#' + time.ctime() + '\n')
dirNorm=os.path.normpath(domainDir).replace('\\','\\\\')
fd.write(domainName + '=' + dirNorm)
print 'create domain file and close in the end under the directory:' + domainDir
fd.close
except Exception, e:
print 'Failed to create domain file in the directory:' + domainDir
我使用file对象 or open方法在windows 环境下都能通过,但是程序部署到linux环境中就出现问题。
[echo] NameError: file
可能linux环境对file支持不好,所以保险起见,还是遵循文档中所说的,坚持用open方法吧。
㈡ python官方document中关于lambda的一个小问题
pairs.sort(key=lambda pair:pair[2])表示按每个元素的第三个参数排序;parts的每个元素是只有两个元素元组,因此出现错误
㈢ 如何用python读取word
使用Python的内部方法open()读取文本文件
try:
f=open('/file','r')
print(f.read())
finally:
iff:
f.close()
如果读取word文档推荐使用第三方插件,python-docx 可以在官网上下载
使用方式
#-*-coding:cp936-*-
importdocx
document=docx.Document(文件路径)
docText=' '.join([
paragraph.text.encode('utf-8')forparagraphindocument.paragraphs
])
printdocText
㈣ 哪位大神知道如何用Python中的docx模块删除docx文档中的表格
可以使用docx模块。
from docx import Document # 导入库"""word表格中"""
path = "C:\\Users\\1\\Desktop\\测试.docx" # 文件路径
document = Document(path) # 读入文件
tables = document.tables # 获取文件中的表格集
删掉指定的那一个表格即可
希望我的回答对你有帮助~
㈤ Python想把两篇中文文档的内容作为作为文档输入,在Python中用document list表示,应该怎么写代码
withopen('xxx.txt','r')asf:
documents.append(f.read())
中文文档,还需要注意编码的问题
㈥ 求助大神:如何用Python docx解析一个Word文档,在某些字段处插入文本或表格,更换页眉页脚等急~
from docx import Document
from docx.shared import Inches
document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='IntenseQuote')
document.add_paragraph(
'first item in unordered list', style='ListBullet'
)
document.add_paragraph(
'first item in ordered list', style='ListNumber'
)
document.add_picture('monty-truth.png', width=Inches(1.25))
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for item in recordset:
row_cells = table.add_row().cells
row_cells[0].text = str(item.qty)
row_cells[1].text = str(item.id)
row_cells[2].text = item.desc
document.add_page_break()
document.save('demo.docx')
这是一个demo for docx 你可以试试
㈦ 如何用python查询文件路劲
最近在用Python脚本处理文件夹下面的文件名的搜索和重命名。其中碰到如何递归遍历文件夹下面所有的文件,找到需要的文件,并且重命名的问题。其实如果看看Python的document,还是比较简单的,这里直接给出使用方法,免得大家还要花精力去查找。
环境:
文件夹结构:
----path1
----path1-1
----path1-1.1.txt
----path1-2
----path1.1.txt
----path2
----recursiveDir.py
文件夹结构如上所示。
代码分析(recursiveDir.py):
[python] view plain
<span style="font-size:18px;">import os
'''''
本脚本用来演示如何遍历py脚本所在文件夹下面所有的文件(包括子文件夹以及其中包含的文件)。
重点演示如何获取每个文件的绝对路径。注意os.path.join(dirpath, filename)的用法。
'''
rootdir = os.getcwd()
print('rootdir = ' + rootdir)
for (dirpath, dirnames, filenames) in os.walk(rootdir):
#print('dirpath = ' + dirpath)
for dirname in dirnames:
print('dirname = ' + dirname)
for filename in filenames:
#下面的打印结果类似为:D:\pythonDirDemo\path1\path1-1\path1-1.1.txt
print(os.path.join(dirpath, filename))
if(filename=='path1-1.1.txt'):
os.chdir(dirpath)
#os.rename(os.path.join(dirpath, filename), dirpath + os.sep + 'path1-1.1.new.txt')
os.rename('path1-1.1.txt', 'path1-1.1.new.txt')
#os.remove(os.path.join(dirpath, filename))
#下面的输出为fileName = path1-1.1.txt,并未包含绝对路径,所以需要使用os.path.join来链接,获取绝对路径
print('fileName = ' + filename)
print('------------------one circle end-------------------')</span>
所以可以看到程序中使用os.path.join(dirpath, filename)来拼接出绝对路径出来。注意下面的重命名用法,可以将工作目录切换到os.chdir(dirpath),这样就可以直接用os.rename(oldfile, newfile).Python会自动到dirpath下面查找oldfile并且重命名为newfile。注意工作目录的含义:在Python的GUI中,使用os.getcwd()可以获取到当前工作目录。测试如下:
[html] view plain
<span style="font-size:18px;">>>> os.chdir('D:')
>>> os.getcwd()
'D:\\pythonDirDemo\\path1\\path1-1'
>>> os.chdir('D:\\')
>>> os.getcwd()
'D:\\'</span>
可见却是可以用chdir改变工作目录。这个代码只是在重命名的时候用到的小技巧而已,大家知道有这个东西就行了,不过调用chdir之后,后续再获取getcwd()就会被影响,所以警惕。
㈧ Python Documentation 是不是没有中文版
比较古老的Python中文手册了,版本是2.4,不过Python的语法并没有显着的变化
对于了解基础语法还是足够的
㈨ python交互式窗口总是弹出documentation,怎么关闭弹出
设置快捷键。
SublimeREPL安装之后没有快捷键,每次运行程序必须用鼠标去点工具栏,有些不爽,所以需要给SublimeREPL添加快捷键。
点击首选项->按键绑定-用户,然后在弹出的文件中输入:
本文仅定义了Python - RUN current file的快捷键,我在这里使用的是F5,可以根据自己的需要进行灵活的调整。
为了调试方便,我们可以把这个窗口放到右边,先设置sublime的窗口显示为多层,点击查看->布局->列数 2列
ok!现在可以写一个测试代码运行一下,按f5运行,
PS:现在有一个问题,就是每次运行py文件的时候,都会新建一个REPL窗口。如下图所示: