python 中如何实现对文件的复制、粘贴

Python017

python 中如何实现对文件的复制、粘贴,第1张

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重命名移动后的文件。

Python3 安装 pypiwin32。

CF_HDROP: 与拖放服务相关的文件列表

import win32con

import win32clipboard as clipboard

def set_clipboard_file(filename):

    """

   复制到剪切板

    """

    clipboard.OpenClipboard()

    clipboard.EmptyClipboard()

    clipboard.SetClipboardData(win32con.CF_HDROP, filename)

    clipboard.CloseClipboard()

在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'