㈠ python,需要实现一个文件到指定目录,并设为隐藏文件
importplatform,locale,os,time,shutil
defhideFile(filePath):
if'Windows'inplatform.system():
cmd='attrib+h"'+filePath+'"'
cmd=cmd.encode(locale.getdefaultlocale()[1])
os.popen(cmd).close()
time.sleep(1)
defFile(fromPath,toPath):
f=open(fromPath,'rb')
t=open(toPath,'wb+')
shutil.fileobj(fsrc=f,fdst=t,length=1024*16)
f.close()
t.close()
hideFile(toPath)
㈡ Python编程怎么复制
解释器是交互式的,类似于很早的basic,不太适用直接粘贴。所以建议你:
在windows之下安装的python有一个idle集成开发环境,在那里new个新文件,复制粘贴源代码,点run菜单运行即可。也可在windows的“命令提示符”下用python直接执行你用记事本写好的.py文件。像我们一般都用比较专业的开发环境,比如vs里面包含的python,总之有很多种选择,就看自己的喜好了
㈢ 用python编写程序,在一个文件中可以正常运行,把程序复制到另一个文件中就不能了,怎么回事
出错的文件的编码不是utf-8,需要以utf-8编码保存。
㈣ 关于一台无法进入系统的电脑,python三方库怎么拷贝到新的电脑上
主板坏了是完全不能启动了,只要硬盘是好的就可以,拆下硬盘装到这个新电脑上。
㈤ python 拷贝文件的问题。
就是建立目标目录就可以
souredir=r'D:\1'
destdir=r'D:\2'
import glob,os
files=glob.glob(souredir)
for fn in files:
fn2=fn.replace(sourcedir,destdir)
subdir=os.path.dirname(fn2)
if not os.isdir(subdir): os.makedirs(subdir) #这里建立所有子目录
open(fn2,"wb").write(open(fn1,"rb").read())
你检查一下,这样能满足你的要求吗?
㈥ python安装包可以复制到其他电脑吗
python安装包是可以复制到其他电脑上的。
但是要在其他电脑上用这个安装包安装配置后,python才可以正常运行.
㈦ python 元组为什么不能拷贝
能啊
u={1,2,3}
a=u.()
a
{1,2,3}
㈧ python关于.deep()的问题
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的模块。
1.
.
浅拷贝
只拷贝父对象,不会拷贝对象的内部的子对象。
2.
.deep
深拷贝
拷贝对象及其子对象
一个很好的例子:
import
a
=
[1,
2,
3,
4,
['a',
'b']]
#原始对象
b
=
a
#赋值,传对象的引用
c
=
.(a)
#对象拷贝,浅拷贝
d
=
.deep(a)
#对象拷贝,深拷贝
a.append(5)
#修改对象a
a[4].append('c')
#修改对象a中的['a',
'b']数组对象
print
'a
=
',
a
print
'b
=
',
b
print
'c
=
',
c
print
'd
=
',
d
输出结果:
a
=
[1,
2,
3,
4,
['a',
'b',
'c'],
5]
b
=
[1,
2,
3,
4,
['a',
'b',
'c'],
5]
c
=
[1,
2,
3,
4,
['a',
'b',
'c']]
d
=
[1,
2,
3,
4,
['a',
'b']]
㈨ Python对象的拷贝
Python赋值操作或函数参数传递,传递的永远是对象引用(即内存地址),而不是对象内容。在Python中一切皆对象,对象又分为可变(mutable)和不可变(immutable)两种类型。对象拷贝是指在内存中创建新的对象,产生新的内存地址。当顶层对象和它的子元素对象全都是immutable不可变对象时,不存在被拷贝,因为没有产生新对象。浅拷贝(Shallow Copy),拷贝顶层对象,但不会拷贝内部的子元素对象。深拷贝(Deep Copy),递归拷贝顶层对象,以及它内部的子元素对象。
Python中一切皆对象,对象就像一个塑料盒子, 里面装的是数据。对象有不同类型,例如布尔型和整型,类型决定了可以对它进行的操作。现实生活中的"陶器"会暗含一些信息(例如它可能很重且易碎,注意不要掉到地上)。
对象的类型还决定了它装着的数据是允许被修改的变量(可变的mutable)还是不可被修改的常量(不可变的immutable)。你可以把不可变对象想象成一个透明但封闭的盒子:你可以看到里面装的数据,但是无法改变它。类似地,可变对象就像一个开着口的盒子,你不仅可以看到里面的数据,还可以拿出来修改它,但你无法改变这个盒子本身,即你无法改变对象的类型。
对象拷贝是指在内存中创建新的对象,产生新的内存地址。
浅拷贝(Shallow Copy),拷贝顶层对象,但不会拷贝内部的子元素对象。
2.1.1. 顶层是mutable,子元素全是immutable
当顶层对象是mutable可变对象,但是它的子元素对象全都是immutable不可变对象时,如[1, 'world', 2]
① 创建列表对象并赋值给变量a
② 导入模块,使用.()函数浅拷贝a,并赋值给变量b
③ 修改变量a的子元素a[0] = 3,由于整数是不可变对象,所以并不是修改1变为3,而是更改a[0]指向对象3
当顶层对象是 mutable可变对象 ,但子元素也存在 mutable可变对象 时,如 [1, 2, ['hello','world']]
① 浅拷贝 .() 只拷贝了顶层对象,没有拷贝子元素对象['hello','world'],即a[2]和b[2]指向同一个列表对象
② 修改a[2][1] = 'china',则b[2][1] = 'china'
当顶层对象是immutable不可变对象,同时它的子元素对象也全都是immutable不可变对象时,如(1, 2, 3)
变量a与变量b指向的是同一个元组对象,没有拷贝
当顶层对象是immutable不可变对象时,但子元素存在mutable可变对象时,如(1, 2, ['hello','world'])
变量a与变量b指向的是相同的元组对象,并且a[2]与b[2]指向同一个列表,所以修改a[2][1]会影响b[2][1]
深拷贝(Deep Copy),递归拷贝顶层对象,以及它内部的子元素对象
当顶层对象是mutable可变对象,但是它的子元素对象全都是immutable不可变对象时,如[1, 'world', 2]
变量a与变量b指向不同的列表对象,修改a[0]只是将列表a的第一个元素重新指向新对象,不会影响b[0]
当顶层对象是mutable可变对象,但子元素也存在mutable可变对象时,如[1, 2, ['hello','world']]
深拷贝既拷贝了顶层对象,又递归拷贝了子元素对象,所以a[2]与b[2]指向了两个不同的列表对象(但是列表对象的子元素初始指定的字符串对象一样),修改a[2][1] = 'china'后,它重新指向了新的字符串对象(内存地址为140531581905808),不会影响到b[2][1]
当顶层对象是immutable不可变对象,同时它的子元素对象也全都是immutable不可变对象时,如(1, 2, 3)
变量a与变量b指向的是同一个元组对象,不存在拷贝
当顶层对象是immutable不可变对象时,但子元素存在mutable可变对象时,如(1, 2, ['hello','world'])
变量a与变量b指向的是不同的元组对象,同时a[2]与b[2]指向不同的列表对象,所以修改a[2][1]不会影响b[2][1]
使用=是赋值,即将列表对象的引用也赋值给变量b,可以将列表对象想象成一个盒子,变量a相当于这个盒子上的标签,执行b = a后,相当于再在这个盒子上贴上b标签,a和b实际上指向的是同一个对象。因此,无论我们是通过a还是通过b来修改列表的内容,其结果都会作用于双方。
b/c/d都是a的复制,它们都指向了不同的列表对象,但是没有拷贝子元素,a[2]和b[2]/c[2]/d[2]指向同一个列表, 相当于浅拷贝的效果
使用分片[:]操作,a和b其实是指向同一个元组,而且没有拷贝子元素,a[2]和b[2]也指向同一个列表,相当于浅拷贝的效果
同列表类似,可以使用字典的()函数或者转换函数dict()
变量a与变量b/c指向不同的字典,但是没有拷贝子元素,a['jobs']和b['jobs']/c['jobs']指定同一个列表, 相当于浅拷贝的效果
同列表类似,可以使用集合的()函数或者转换函数set()
变量a与变量b/c指向不同的集合,而集合的元素必须是hashable,所以修改集合a不会影响到b/c
㈩ python封装成exe如何加密
可以直接用加密软件加密。据了解加密软件可以加密所有类型文件的,可以对文件进行透明加密,在内部环境文件是可以正常打开的,脱离这个环境则打不开或乱码,可以禁止截屏、拷贝、复制、打印、修改等。文件外发需授权解密,未授权解密无论以任何形式发出都是无法正常打开的,还可设置文件外发的浏览次数和打开时间。在不影响日常使用的情况下保障文件安全。