❶ python把一段代码不改变格式写入另一个文件
直接import就好了。
其实引入其他文件的方法有两种,一个是直接import,一个是from?import其实引入python库的方法也是这样的,有时候库名很长,可以用as别名的方法来,比如引入selenium库里的键盘库,取个ac的别名,下面就直接用ac来代替ActionChains了。
Python一共有60多个内置函数。
❷ 用Python编程实现把任意两个文本文件内容连接起来存进一个新文本文件中
最简单的思路就是把文件的内容从前两个文件中读出来写入到新文件件。
大概这样:
def fun_name(file1, file2, newfile):
with open(newfile, 'w') as f:
with open(file1,'r') as f1:
for line in f1.lines:
f.writeline(line)
with open(file2,'r') as f2:
for line in f2.lines:
f.writeline(line)
当然这只是最简单粗爆的实现方式, 代码还可以再优化,可以写的更优优雅,复用性更强,想进一步学习python编程可以关注我,我会尽量抽是间回答大家的问题。
❸ Python文件操作,看这篇就足够!
文件的存储方式
在计算机中,文件是以二进制的方式保存在磁盘上的文本文件和二进制文件
文本文件可以使用文本编辑软件查看本质上还是二进制文件
二进制文件保存的内容不是给人直接阅读的,而是提供给其她软件使用的二进制文件不能使用文件编辑软件查看
文件基本操作
在计算机中要操作文件一共包含三个步骤:1.打开文件2.读、写文件
读 将文件内容读入内容写 将内存内容写入文件
模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
文件打开模式有很多,但是我们实际用到的就只有六种。
我们总结一下主要用到的是下面六种
模式可做操作若文件不存在是否覆盖文件原来内容
r只读报错——
r+可读、可写报错是
w只写创建是
w+可读、可写创建是
a只写创建否,追加写
a+可读、可写创建否,追加写
只读模式打开文件——只读(r)
文件若不存在报错:
读写模式打开文件——读写模式(r+)
数据写入之前:
数据写入之后:
会替换掉相同长度的内容
文件若不存在报错:
写模式打开文件——写模式(w)
数据写入之前:
数据写入之后:
这种操作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
读写模式打开文件——读写模式(w+)
数据写入之前:
数据写入之后:
这种操作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
利用这个原理所以文件写模式(w)、读写模式(w+)还可以用作删除文件内容。
因为他们整个工作原理就是把文件原来的内容删除,然后写入新的内容。
如果我们写入的内容为空,那么不就是删除文件内容。
数据写入之前:
数据写入之后:
写模式打开文件(追加内容)——写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
读写模式打开文件(追加内容)——读写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
二进制模式打开文件
我们看到了在文件打开模式中有以下模式:rb、wb……有这种带 b 的。
什么意思呢?
就是用二进制的方式打开文件。
很明显,我们出现了以下错误:
主要原因是因为编码的问题,可能是因为0x82这个字节在gbk编码中没有这个字符,
可能原字符是两个字节,在gbk里被解析成了一个字节,导致字符不存在。
这就是我们文件打开方式需要使用二进制读取的原因。
文件操作
open 函数负责打开文件,并且返回文件对象
read /write / close 三个方法都需要通过文件对象 来调用
文件和文件夹的操作
在Python中⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能,
具体步骤如下:
导⼊os模块
使⽤ os 模块相关功能
1、文件重命名
2、删除文件
3、创建文件夹
4、删除文件夹
5、获取当前目录
6、改变默认目录
7、获取目录列表
❹ python怎么以追加的方式写文件
一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:
#python
>>>f=open('f.txt','w') # r只读,w可写,a追加
>>>for i in range(0,10):f.write(str(i)+' ')
. . .
>>> f.close()
二、文件内容追加,从0到9的10个随机整数:
#python
>>>import random
>>>f=open('f.txt','a')
>>>for i in range(0,10):f.write(str(random.randint(0,9)))
. . .
>>>f.write(' ')
>>>f.close()
三、文件内容追加,从0到9的随机整数, 10个数字一行,共10行:
#python
>>> import random
>>> f=open('f.txt','a')
>>> for i in range(0,10):
. . . for i in range(0,10):f.write(str(random.randint(0,9)))
. . . f.write(' ')
. . .
>>> f.close()
四、把标准输出定向到文件:
#python
>>> import sys
>>> sys.stdout = open("stdout.txt", "w")
❺ python 如何新建一个新的File
#python
f=open('f.txt','w') # r只读,w可写,a追加
for i in range(0,10):f.write(str(i)+' ')
例子:
#!/usr/bin/python
#coding=utf-8
import os
import time
import sys
f=open('a.txt','a')
f.write(os.popen('netstat -nltp | grep 22').read())
f.close()
关于上述创建文件,文件内容追加
#python
import random
f=open('f.txt','a')
for i in range(0,10):f.write(str(random.randint(0,9)))
. . .
f.write(' ')
f.close()
或者
#python
import rando
f=open('f.txt','a')
for i in range(0,10):
for i in range(0,10):f.write(str(random.randint(0,9)))
f.write('
')
f.close()
❻ python怎么创建新文件
首先,进行打开的pycharm软件界面当中,进行选中已经打开的项目文件。
❼ 请问python新建一个py文件从哪里开始写
import sys # 引用的包 一般放在最上面,先把需要的包引用
# 然后编写方法,或者类
def main(args):
return 0
# 最后主函数,运行的入口,一般放在最后
if __name__ == '__main__':
sys.exit(main(sys.argv))
大概就这样,还有一些编程规范需要注意,希望能帮到你
❽ Python要编写一个完整的程序,需要创建新的文件。应该选择什么菜单创建
从用户获取文件名并创建同名文件的函数。然后,函数应该使用while循环来处理文件,并允许用户输入要写入文件的多个整数。
使用for循环读取文件内容并将其输出到屏幕的函数。
向文件中追加若干整数的函数。
计算文件中包含的数字总数并打印
❾ python怎么创建一个txt文件
python怎么创建一个txt文件的方法。
如下参考:
1.首先使用内置的空闲编辑器进行编辑(右键单击并选择),如下图所示。
❿ python对文件的独操作有哪几种请详细说明每种方法
1.打开文件:
f=open(r'E:\PythonProjects\test7\a.txt',mode='rt',encoding='utf-8')
以上三个单引号内分别表示:要打开的文件的路径,mode为文件打开方式具体介绍在下文,encoding为文件的字符编码,一般默认为utf-8
2.读写文件:
data=f.read() # 读文件
f.write() # 写文件
3.关闭文件:
f.close()
4.为了简便,一般采用上下文的方法进行文件操作,可不用关闭文件
with open('a.txt',mode='rt',encoding='utf-8') as f:
data=f.read()
print(data)
with open('a.txt',mode='wt',encoding='utf-8') as f:
f.write('hello world')
5.控制文件读写的操作:
r:(默认模式):只读:以该模式打开文件时,若文件不存在则报错,若文件存在,则文件指针在文件开头,即从文件开头开始读文件
w:只写:以该模式打开文件时,若文件不存在则创建一个文件,如文件存在,则清空文件内容,文件指针移到开头
a:追加写:以该模式打开文件时,若文件不存在则创建一个文件,如文件存在,则将文件指针移到文件末尾,在文件末尾写入新的内容
6.控制文件读写内容的模式:(t 和 b都不能单独使用,必须与r,w,a结合使用)
t:(默认):无论读写都是以字符为单位,只能识别文本文件,必须要制定encoding
b:无论读写都是以字节为单位,可以识别所有文件,一定不能指定encoding
7.文件的拷贝
with open ('a.txt',mode='rb') as af,\
open('b.txt',mode='wb') as bf:
data=af.read
f.write(data)
执行程序后,打开文件,即可发现文件已成功拷贝,这里使用 b 而不是用 t 模式,是因为文件有多种格式
8.文件的修改:
文件的修改是在硬盘上实现文件的覆盖,相当于一个新的文件以旧的文件名来命名的; 文件的修改有俩种方式,分别适用于不同的情景
方式一(适用于容量小的文件):这种方式的原理是:创建一个新的文件,将旧文件的内容拷贝到新的文件中;这样内存里就存在俩个文件,故不适用于容量大的文件,具体代码见下方 View
with open('a.txt',mode='rt',encoding='utf-8') as f:
data=f.read()
data_new=data.replace('yang', 'yv')
with open('b.txt',mode='wt',encoding='utf-8')as p:
p.write(data_new)
方式二(适用于容量大的文件):此方式的原理为:读取旧文件的一行内容,修改后写到临时文件中,循环往复直到写完,然后将源文件删除,将临时文件命名为源文件名.这种方式在内存中只存在2行文件,节省内存,可用于大文件
import os
with open('b.txt',mode='rt',encoding='utf-8') as f,\
open('.b.txt.swap',mode='wt',encoding='utf-8') as p:
for line in f:
p.write(line.replace('yv','yang'))
# 调用replace方法,将源文件中的'yv',换成'yang'
os.remove('b.txt')
os.rename('.b.txt.swap','b.txt')
9. 文件的阶段:truncate(n)
将文件中n个字节后内容全删了,当 n 不存在时,即删除文件全部内容
10.文件内指针的移动
f.seek(): 指针的移动是以字节为单位的
seek 有三种模式:
0:(默认模式) 指针在文件开头,只有在 0 模式可以在 t 模式下用,也可以在 b 模式下用,而 1 ,2 模式只能在 b 模式下使用
1:指针在当前位置
2:指针在文件末尾
以下为具体事例:
# 0
with open('a.txt',mode='rt',encoding='utf-8')as f:
f.seek(3,0)
print(f.tell()) # 指针当前位置
print(f.read()) # 从指针后读出所有内容
# 1 参照指针当前位置
with open('a.txt',mode='rb')as f:
f.read(2)
f.seek(4,1)
print(f.tell())
print(f.read().decode('utf-8'))
# 2 参照文件末尾
with open('a.txt',mode='rb')as f:
f.seek(-5,2)
print(f.tell())
print(f.read().decode('utf-8'))
当 seek处于 2 模式时,可以将文件中新加入的内容打印出来,具体代码如下:
# 另一个文件进行写操作,写的代码如下:
with open('a.txt',mode='at',encoding='utf-8')as f:
f.write('hello world\n')
# 每在文件中写入新的内容,都打印出来,以下代码执行打印操作:
import time
with open('a.txt',mode='rb')as f:
f.seek(0,2)
while True:
line=f.readline() # readline 可以读取没有内容的部分
# print(line.decode('utf-8'))
if len(line)==0:
time.sleep(0.1)
else:
print(line.decode('utf-8'))