当前位置:首页 » 编程语言 » python多个文件

python多个文件

发布时间: 2022-05-20 01:07:32

‘壹’ 关于多个python文件共享数据

简单。一个是通过线程同步。另一个就是全局变量global,加上这个修饰就可以了。python一个进程里的所有东西,都是在一个内存空间的。只要加了global就可以访问。可以用这个全局变量通讯,效果也是一样的。python一个进程只用一个CPU核。所以不存在楼下说的地址空间不一样的问题。

进程间同步也有几个方法。通常使用共享内存,管道,不过最常用的还是socket或者是数据库。还有些分布式组件不是很好用。我通常用mutliprocessing,里面有现成的进程通信办法。

看到你的需求。我觉着可以用两个变量,一个变量记录修改状态,另一个变量要求先锁再进行修改。目前看来如果仅仅是python里实现。直接使用memcache这个工具就可以解决。一个程序读写,其它的程序只需要轮洵就可以了。从原理上讲memcache是一个内存数据库。

‘贰’ python怎么一次性下载多个文件

我觉得最简单的办法借助celery分布式下载,或者手写多线程、多进程进行文件下载。

‘叁’ 多个python文件相互调用

假如a.py这个文件有一个函数fun,那么在b.py这个文件就可以调用这个函数,只需要写一行代码即可:from a import fun

‘肆’ 怎么将多个python打包成exe文件

1、安装pywin32,可以参考《怎么给python安装pywin32模块?》,一定要注意对应的python版本,否则不能安装。

‘伍’ python 处理几万个文件

我们可以在GNU / Linux操作系统上使用2.2Ghz四核处理器和16GB RAM。当前脚本仅使用一个处理器。利用其他内核和RAM来更快地处理图像的最佳方法是什么?启动多个Python进程来运行脚本会利用其他内核吗?

另一个选择是使用Gearman或Beanstalk之类的东西将工作分配给其他机器。我已经看了多处理库但不知道如何利用它。

解决方案
启动多个Python进程来运行脚本会利用其他内核吗?

是的,如果任务受CPU约束,它将会。这可能是最简单的选择。但是,不要为每个文件或每个目录生成单个进程; 考虑使用像这样的工具,parallel(1)并让它产生每个核心两个进程的东西。

另一个选择是使用Gearman或Beanstalk之类的东西将工作分配给其他机器。

那可能有用。另外,看看ZeroMQ的Python绑定,它使分布式处理变得非常简单。

我已经看了多处理库但不知道如何利用它。

比如定义一个函数,process它读取单个目录中的图像,连接到数据库并存储元数据。让它返回一个表示成功或失败的布尔值。我们directories是目录处理的列表。然后

import multiprocessing
pool = multiprocessing.Pool(multiprocessing.cpu_count())
success = all(pool.imap_unordered(process, directories))
将并行处理所有目录。如果需要,您还可以在文件级执行并行操作; 这需要更多的修修补补。

请注意,这将在第一次失败时停止; 使其容错需要更多的工作。

‘陆’ python 用循环创建多个文件

os.system命令可以调用外部命令
组合latex

zip的命令行版本工具
就可以实现你所需要的功能
用i来命名文件很简单
for
i
in
range(1,51):
filename
=
"%d.tex"
%
(i)
这样filename变量里存储的就是
"1.tex"
这样的字符串了.
压缩文件的话
我只知道7zip是
7z
a
<压缩档名>
<要压缩的文件名>
其中
要压缩的文件名
可以有多个
示例:
7z
a
file.zip
1.tex
2.tex
3.tex
...
10.tex
这样一个命令
就可以实现:)
至于7z.exe
可以到7-zip的官方网站上下载命令行版本的7z,
压缩包里会有个7za.exe,改名一下就好
:)

‘柒’ python 合并多个 excel

思路
利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。
完整代码
# -*- coding: utf-8 -*-

#将多个Excel文件合并成一个
import xlrd
import xlsxwriter

#打开一个excel文件
def open_xls(file):
fh=xlrd.open_workbook(file)
return fh

#获取excel中所有的sheet表
def getsheet(fh):
return fh.sheets()

#获取sheet表的行数
def getnrows(fh,sheet):
table=fh.sheets()[sheet]
return table.nrows

#读取文件内容并返回行内容
def getFilect(file,shnum):
fh=open_xls(file)
table=fh.sheets()[shnum]
num=table.nrows
for row in range(num):
rdata=table.row_values(row)
datavalue.append(rdata)
return datavalue

#获取sheet表的个数
def getshnum(fh):
x=0
sh=getsheet(fh)
for sheet in sh:
x+=1
return x


if __name__=='__main__':
#定义要合并的excel文件列表
allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx']
#存储所有读取的结果
datavalue=[]
for fl in allxls:
fh=open_xls(fl)
x=getshnum(fh)
for shnum in range(x):
print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
rvalue=getFilect(fl,shnum)
#定义最终合并后生成的新文件
endfile='F:/test/excel3.xlsx'
wb1=xlsxwriter.Workbook(endfile)
#创建一个sheet工作对象
ws=wb1.add_worksheet()
for a in range(len(rvalue)):
for b in range(len(rvalue[a])):
c=rvalue[a][b]
ws.write(a,b,c)
wb1.close()
print("文件合并完成")

合并后

‘捌’ python 多个文件怎么调用

同时打开三个文件,文件行数一样,要求实现每个文件依次读取一行,然后输出,我们先来看比较容易想到的写法:

with open(filename1, 'rb') as fp1:
with open(filename2, 'rb') as fp2:
with open(filename3, 'rb') as fp3:
for i in fp1:
j = fp2.readline()
k = fp3.readline()
print(i, j, k)

注意这里只能对单个文件进行for循环读取,不能写成:

for i, j, k in fp1, fp2, fp3:
print(i, j, k)

但可使用强大的zip操作:

for i, j, k in zip(fp1, fp2, fp3):
print(i, j, k)

这样层层的嵌套未免啰嗦,with结构支持一种更简洁的写法:

with open(filename1, 'rb') as fp1, open(filename2, 'rb') as fp2, open(filename3, 'rb') as fp3:
for i in fp1:
j = fp2.readline()
k = fp3.readline()
print(i, j, k)

或者使用更为优雅的写法,此时需要contextlib语法糖:

from contextlib improt ExitStack
with ExitStack() as stack:
files = [stack.enter_context(open(fname)) for fname in [filename1, filename2, filename3]]
for i, j, k in zip(files[0], files[1], files[2]):
print(i, j, k)

‘玖’ python 如何把多个文件内容合并到以一个文件

Python编程将多个文件合并,代码如下:

#例子:合并a.txt、b.txt、c.txt合并成d.txt文件

#文件列表,遍于读取

flist = ['a.txt','b.txt','c.txt']

#要写入的文件

ofile = open('d.txt', 'w')

#遍历读取所有文件,并写入到输出文件

for fr in flist:
for txt in open(fr, 'r'):
ofile.write(txt)
ofile.close()
效果如下:

‘拾’ 如何将多个Python文件

直接写就可以了。
比如文件名为variable.py,内容如下:
1234
mylist
=
[1,2,3]a
=
4b
=
'456'……
然后,在其他文件中直接引用就可以了。
import
variable
然后
variable.a,
variable.b

热点内容
六年级简便算法题 发布:2025-02-14 05:53:02 浏览:8
脚本精灵要root吗 发布:2025-02-14 05:51:30 浏览:212
安卓手机如何录屏怎么去掉触摸显示 发布:2025-02-14 05:36:23 浏览:995
安卓系统新品推荐怎么关 发布:2025-02-14 05:35:44 浏览:887
虚拟存储器的基础是 发布:2025-02-14 05:32:24 浏览:515
androidstudio出错 发布:2025-02-14 05:32:14 浏览:304
面容id存储多张脸 发布:2025-02-14 05:31:30 浏览:655
网站源码百度云 发布:2025-02-14 05:30:53 浏览:213
我得世界星际方块服务器ip 发布:2025-02-14 05:23:03 浏览:940
动态库什么时候不需要重新编译 发布:2025-02-14 05:18:56 浏览:14