用Python读取txt文件并执行里面的内容

1 exec函数

exec(source, globals=None, locals=None)

1.1 函数功能介绍:

内置函数exec可以动态的执行字符串表示的代码片段

内置函数exec可以执行txt文件中的python代码

1.2 参数介绍:

source — 文件内容或者代码段

globals — 缺省参数,默认为空,变量作用域,全局命名空间,如果被提供,则必须是一个字典对象

locals — 缺省参数,默认为空,变量作用域,局部命名空间,如果被提供,可以是任何映射对象;

返回值 — 永远是None

2 代码

# 1.txt
#--------------------------
x = 20
print(x)
print('balmind.com')

利用exec函数执行txt文本中的内容代码:

with open('1.txt','r',errors='ignore') as f:
    exec(f.read())

结果:

20
balmind.com

3 注意

若出现中文字符,则会报错!

# 1.txt
#--------------------------
x = 20
print(x)
print('佐佑思维公众号')

利用exec函数执行txt文本中的内容代码:

with open('1.txt','r',errors='ignore') as f:
    exec(f.read())

结果会出错,这是‘gbk’解码器解码中文的问题,所以尽量避免使用中文

20
浣愪綉鎬濈淮
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python提供了多种方法用来读取和写入文件。要读取txt文件,可以使用open()函数来打开文件读取内部内容。要生成csv文件,可以使用csv模块来处理和写入数据。 首先,我们需要通过open()函数打开txt文件,并使用readlines()方法读取文件的所有内容。readlines()方法会返回一个包含每行文本的列表。接下来,我们可以使用csv模块来创建并写入csv文件。 下面是一个示例代码: ```python import csv # 打开并读取txt文件 with open('input.txt', 'r') as file: lines = file.readlines() # 创建并写入csv文件 with open('output.csv', 'w', newline='') as file: writer = csv.writer(file) for line in lines: # 假设每行txt文件内容以逗号分隔 data = line.strip().split(',') writer.writerow(data) ``` 在上面的代码,我们首先使用open()函数打开名为input.txttxt文件,并读取所有内容存储在lines列表。然后,我们使用open()函数创建名为output.csv的csv文件,并使用csv.writer()函数来创建一个写入器对象writer。接下来,我们使用for循环遍历lines列表的每一行,将每行的文本内容拆分为以逗号分隔的数据,并使用writerow()方法将数据写入csv文件。 注意,上述示例代码假设txt文件每行内容以逗号分隔。如果txt文件的分隔符是其他字符,需要相应地修改代码。 最后,运行代码后,将会生成名为output.csv的csv文件,其包含从txt文件读取的数据。 ### 回答2: 要用Python读取txt文件并生成csv文件,首先需要导入`csv`和`os`模块。`csv`模块提供了用于读写csv文件的功能,而`os`模块用于处理文件路径。 下面是一个示例代码,假设我们要读取一个名为`input.txt`的txt文件,并将其内容写入名为`output.csv`的csv文件: ```python import csv import os # 指定txt文件的路径 txt_file = 'input.txt' # 指定csv文件的路径 csv_file = 'output.csv' # 判断txt文件是否存在 if os.path.exists(txt_file): # 打开txt文件 with open(txt_file, 'r') as txt: # 创建csv文件并将内容写入 with open(csv_file, 'w', newline='') as csv_file: writer = csv.writer(csv_file) # 逐行读取txt文件内容 for line in txt: # 将每行内容按照指定分隔符进行分割 split_line = line.strip().split('\t') # 将分割后的内容写入csv文件 writer.writerow(split_line) print(f'{txt_file}已成功转换为{csv_file}') else: print(f'{txt_file}不存在!') ``` 在代码,我们使用`open()`函数打开txt文件,并使用`with`语句来确保资源的正确释放。然后,我们使用`csv.writer`创建一个csv writer对象,并逐行读取txt文件内容。我们可以选择不同的分隔符`split_line = line.strip().split('\t')`来将每行内容进行分割,默认使用制表符进行分割。 最后,我们使用`writer.writerow()`将分割后的内容写入csv文件。要注意将每个字段作为列表传递给`writer.writerow()`函数。如果输入的txt文件包含多个字段,确保分割后的列表与csv文件的列对应。 执行完上述代码后,将生成一个名为`output.csv`的csv文件,其包含了从txt文件读取内容。 ### 回答3: 使用Python读取txt文件并生成csv文件非常简单。首先,我们需要导入`csv`模块和`pandas`模块。接下来,我们打开txt文件,逐行读取内容,并将内容存储到一个列表。然后,我们创建一个csv文件,将列表内容写入该文件。最后,我们关闭文件。以下是具体的步骤: ```python import csv import pandas as pd # 打开txt文件,逐行读取内容到列表 txt_file = open("input.txt", "r") lines = txt_file.readlines() txt_file.close() # 创建csv文件,写入内容 csv_file = open("output.csv", "w") writer = csv.writer(csv_file) for line in lines: row = line.strip().split() # 将行内容分割成列表 writer.writerow(row) csv_file.close() # 创建DataFrame并保存为csv文件 df = pd.DataFrame(lines) df.to_csv("output.csv", index=False, header=False) ``` 需要注意的是,上述代码的"input.txt"和"output.csv"是示例文件名,你可以根据实际情况修改这些文件名。另外,逐行读取txt文件的方法可能因为文件内容的具体格式而有所变化,你可以根据实际情况对代码进行相应的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值