大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、新建一个python脚本文件file.py(名字任意)。
十年的洮南网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整洮南建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“洮南网站设计”,“洮南网站推广”以来,每个客户项目都认真落实执行。
2、在python脚本中用2个open函数即可实现对该图片的复制,具体实现代码如图。
3、执行上述脚本文件后查看结果,可以看到该图片已被成功复制。
4、对于其他文件例如,文本文件操作方式和上面一样,下图是复制11.txt成功的实际例子。以上文件操作都需要注意文件的路径,路径可以是绝对路径类似"F:\test418\examples\11.txt",也可以是相对路径类似"11.txt"
shutil.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉
shutil.move( src, dst) 移动文件或重命名
shutil.copymode( src, dst) 只是会复制其权限其他的东西是不会被复制的
shutil.copystat( src, dst) 复制权限、最后访问时间、最后修改时间
shutil.copy( src, dst) 复制一个文件到一个文件或一个目录
shutil.copy2( src, dst) 在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
shutil.copy2( src, dst) 如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作
shutil.copytree( olddir, newdir, True/Flase)
把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.rmtree( src ) 递归删除一个目录以及目录内的所有内容
file类中没有提供专门的文件复制函数,因此只能通过使用文件的读写函数来实现文件的复制。这里仅仅给出范例:
src = file("myfile.txt", "w+")
temp = ["hello world! \n"]
src.writelines(temp)
src.close()
src = file("myfile.txt", "r+")
des = file("myfile2.txt", "w+")
des.writelines(src.read())
src.close()
des.close()
shutil模块是另一个文件,目录的管理接口,提供了一些用于复制文件,目录的函数。copyfile()函数可以实现文件的拷贝,声明如下:
copyfile(src, des)
文件的剪切可以使用move()函数模拟,声明如下:
move(src,des)
功能:移动一个文件或者目录到指定的位置,并且可以根据参数des重命名移动后的文件。
要实现复制、移动、改名以及删除文件或文件夹,需要用到 shutil 模块,shutil 是 shell util 的简写形式,表示 shell 工具。
调用 shutil.copy(source, destination) 来实现复制文件或文件夹功能,依据 destination 进行区分:
运行结果:
注意: 指定复制的文件夹必须存在,否则会抛出 FileNotFoundError。
shutil 的 copytree(source, destination) 方法会复制整个文件夹,包括它所包含的所有文件夹和文件。source
指定源文件夹,destination 指定新的文件夹。source 和 destination 入参都是字符串。该函数会返回新文件夹的路径。destination 如果不存在,会自动创建。请看下例:
运行结果:
shutil.move(source, destination) 方法会将路径 source 处的文件移动到路径 destination,并返回新位置的绝对路径的字符串。
如果 destination 指向一个文件夹, source 处的文件将移动到 destination 中, 并保持原来的文件名。
运行结果:
注意:
os 模块中的函数,可以实现删除一个文件或一个空文件夹。而 shutil 更强大,使用它可以删除一个非空文件夹!
注意: 因为是永久删除,所以使用这些函数一定要小心!建议调试程序时, 先注释掉这些删除方法,
然后加上 print(), 把要被删除的文件打印出来,确认后,再执行。
打印出来的文件列表确认无误后,再执行 os.unlink(filename) 执行删除操作。
send2trash 模块会将文件夹或文件发送到计算机的回收站。首先,安装它:
安装成功后,调用 send2trash.send2trash 方法,就可以把文件夹或文件发送到计算机的回收站。请看下例:
建议使用 send2trash.send2trash() 函数来删除文件或文件夹,因为以后还可以从回收站还原。但这样做,不
会释放磁盘空间。如果我们还是希望程序释放磁盘空间, 就要用 os 和 shutil 来删除文件和
文件夹(记得使用之前提出的 print 技巧)。还有一点需要注意, send2trash() 函数只能将文件送到回收站, 但不能从回收站中恢复文件。
用Python把某一目录下的文件复制到指定目录中,代码如下:
1、首先插入必要的库:
import os
import os.path
import shutil
import time, datetime
2、实现复制文件代码如下:
def copyFiles(sourceDir,targetDir):
if sourceDir.find(".svn") 0:
return
for file in os.listdir(sourceDir):
sourceFile = os.path.join(sourceDir,file)
targetFile = os.path.join(targetDir,file)
if os.path.isfile(sourceFile):
if not os.path.exists(targetDir):
os.makedirs(targetDir)
if not os.path.exists(targetFile) or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))):
open(targetFile,"wb").write(open(sourceFile,"rb").read())
if os.path.isdir(sourceFile):
First_Directory = False
copyFiles(sourceFile, targetFile)
3、主函数的实现:
if __name__ =="__main__":
print "Start(S) or Quilt(Q) \n"
flag = True
while (flag):
answer = raw_input()
if 'Q' == answer:
flag = False
elif 'S'== answer :
formatTime = getCurTime()
targetFoldername = "Build " + formatTime + "-01"
Target_File_Path += targetFoldername
copyFiles(Debug_File_Path,Target_File_Path)
removeFileInFirstDir(Target_File_Path)
coverFiles(Release_File_Path,Target_File_Path)
moveFileto(Firebird_File_Path,Target_File_Path)
moveFileto(AssistantGui_File_Path,Target_File_Path)
writeVersionInfo(Target_File_Path+"\\ReadMe.txt")
print "all sucess"
else:
print "not the correct command"
在python中用有一个模块可以用来处理剪切板复制的内容,pyperclip模块
pyperclip模块有copy()和paste()函数,分别用于向计算机的剪贴板发送文本,或从它接受文本。
pyperclip模块不是python自带的。所以要安装这个模块,例如 pip install pyperclip
下面就这个模块的使用简单举例:
1.例题1
创建一个文件用来存储你的多个账户的密码应用: (假设创建的py文件名为 :pw.py)
#!python3
PASSWORDS = {'email':'adjofahoweghowaehgg',
'blog':'GEAGefwegEgeghfewEGEege呵呵跟了猴哥hhaji',
'luggage':'12345'}
import sys,pyperclip
if len(sys.argv) 2:
print('请输入:py pw.py 帐号名 -以确认用于查询相应的密码')
sys.exit()
account = sys.argv[1]
if account in PASSWORDS:
pyperclip.copy(PASSWORDS[account])
print('Password for ' + account + ' 已经复制,请粘贴使用')
else:
print('系统中无此账户的记录')
运行如下:
python pw.py blog
Password for blog已经复制,请粘贴使用
运行程序后,内容已经自动到你的电脑的剪贴板上面,你直接粘贴使用即可;这种方法可以用于管理你的账户密码,无论设置多复杂的密码都不用担心记不住,直接粘贴使用即可;
例题2:
上面例题有提到对剪贴板内容的复制和粘贴,但有的时候我们复制的内容,我们想对复制的内容添加进去我们自己想要设定的东西,下面我们用例题来分析:
例如,我们在电脑上面复制了一段文本,内容如下:
List of animals
Lists of aquarium life
Lists of biologists by author abbreviation
List of cultivars
我们想要在这段文本的每行前面都加上一个‘*’号
代码:
#!python3
import pyperclip
text = pyperclip.paste() #将我们已经复制到电脑剪贴板准备粘贴的内容 赋给text
lines = text.split('\n') #split()方法用于指定以某个字符来分割字符串 例如:spam = "hello i'm peter" spam.split("'") 输出的是:['hello i', 'm peter']
for i in range(len(lines)):
lines[i] = '*' + lines[i]
text = '\n'.join(lines) #lines 通过处理出来是一个字符列表,而text是需要一个字符串,因此需要用到join来连接各列表中的各字符串
pyperclip.copy(text)
#join方法 在一个字符串上调用,参数是一个字符串列表,返回一个字符串。返回的字符串由传入的列表中每个字符串连接而成。
如: ','.join['cats','rats','bats']
out:'cats,rats,bats'
' 'join['cats','rats','bats']
out: 'cat rats bats'